@fivenet-app/gen 2025.9.1 → 2026.4.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.
Files changed (134) hide show
  1. package/README.md +1 -1
  2. package/clients.ts +36 -0
  3. package/codegen/perms/perms.ts +186 -15
  4. package/codegen/sanitizer/sanitizer.ts +34 -1
  5. package/package.json +2 -2
  6. package/perms.ts +140 -8
  7. package/resources/accounts/accounts.ts +98 -31
  8. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +20 -20
  9. package/resources/audit/audit.ts +156 -38
  10. package/resources/calendar/{access.ts → access/access.ts} +30 -30
  11. package/resources/calendar/calendar.ts +17 -477
  12. package/resources/calendar/entries/entries.ts +474 -0
  13. package/resources/centrum/{access.ts → access/access.ts} +22 -22
  14. package/resources/centrum/{dispatchers.ts → dispatchers/dispatchers.ts} +14 -14
  15. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +151 -185
  16. package/resources/centrum/joblist.ts +136 -0
  17. package/resources/centrum/{settings.ts → settings/settings.ts} +70 -70
  18. package/resources/centrum/{units_access.ts → units/access/access.ts} +30 -30
  19. package/resources/centrum/{units.ts → units/units.ts} +131 -51
  20. package/resources/citizens/labels/labels.ts +526 -0
  21. package/resources/{users → citizens/licenses}/licenses.ts +17 -17
  22. package/resources/clientconfig/clientconfig.ts +126 -258
  23. package/resources/collab/collab.ts +4 -16
  24. package/resources/common/content/content.ts +108 -85
  25. package/resources/common/content/diff_activity.ts +267 -0
  26. package/resources/common/i18n.ts +2 -2
  27. package/resources/{common/cron → cron}/cron.ts +43 -43
  28. package/resources/documents/{access.ts → access/access.ts} +29 -52
  29. package/resources/documents/{activity.ts → activity/activity.ts} +171 -123
  30. package/resources/documents/approval/approval.ts +945 -0
  31. package/resources/documents/{category.ts → category/category.ts} +7 -7
  32. package/resources/documents/{comment.ts → comment/comment.ts} +10 -10
  33. package/resources/documents/data/data.ts +303 -0
  34. package/resources/documents/documents.ts +282 -667
  35. package/resources/{common/uuid.ts → documents/forms/forms.ts} +20 -20
  36. package/resources/documents/{pins.ts → pins/pins.ts} +5 -5
  37. package/resources/documents/references/references.ts +187 -0
  38. package/resources/documents/relations/relations.ts +184 -0
  39. package/resources/documents/{requests.ts → requests/requests.ts} +18 -18
  40. package/resources/documents/stamps/stamp.ts +355 -0
  41. package/resources/documents/{templates.ts → templates/templates.ts} +426 -84
  42. package/resources/documents/{workflow.ts → workflow/workflow.ts} +264 -26
  43. package/resources/file/filestore.ts +1 -1
  44. package/resources/{common/grpcws → grpcws}/grpcws.ts +52 -52
  45. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +54 -54
  46. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +17 -28
  47. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +70 -45
  48. package/resources/jobs/{labels.ts → labels/labels.ts} +34 -23
  49. package/resources/jobs/{job_props.ts → props/props.ts} +26 -38
  50. package/resources/jobs/{job_settings.ts → settings/settings.ts} +53 -53
  51. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +17 -17
  52. package/resources/livemap/{heatmap.ts → heatmap/heatmap.ts} +4 -4
  53. package/resources/livemap/{marker_marker.ts → markers/marker_marker.ts} +35 -35
  54. package/resources/livemap/{user_marker.ts → markers/user_marker.ts} +115 -36
  55. package/resources/mailer/{access.ts → access/access.ts} +67 -67
  56. package/resources/mailer/{email.ts → emails/email.ts} +19 -19
  57. package/resources/mailer/{events.ts → events/events.ts} +24 -24
  58. package/resources/mailer/{message.ts → messages/message.ts} +29 -29
  59. package/resources/mailer/{settings.ts → settings/settings.ts} +14 -13
  60. package/resources/mailer/{template.ts → templates/template.ts} +15 -15
  61. package/resources/mailer/{thread.ts → threads/thread.ts} +29 -29
  62. package/resources/notifications/{client_view.ts → clientview/clientview.ts} +22 -22
  63. package/resources/notifications/{events.ts → events/events.ts} +20 -20
  64. package/resources/notifications/notifications.ts +4 -4
  65. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +42 -42
  66. package/resources/permissions/{events.ts → events/events.ts} +7 -7
  67. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +30 -19
  68. package/resources/qualifications/{access.ts → access/access.ts} +19 -19
  69. package/resources/qualifications/{exam.ts → exam/exam.ts} +269 -141
  70. package/resources/qualifications/qualifications.ts +51 -179
  71. package/resources/settings/banner.ts +3 -3
  72. package/resources/settings/config.ts +527 -25
  73. package/resources/{documents/state.ts → settings/data.ts} +41 -20
  74. package/resources/settings/perms.ts +14 -14
  75. package/resources/stats/stats.ts +379 -0
  76. package/resources/sync/{activity.ts → activity/activity.ts} +104 -25
  77. package/resources/sync/{data.ts → data/data.ts} +405 -59
  78. package/resources/userinfo/{user_info.ts → userinfo.ts} +71 -93
  79. package/resources/users/{activity.ts → activity/activity.ts} +242 -101
  80. package/resources/users/{props.ts → props/props.ts} +91 -69
  81. package/resources/users/short/user.ts +184 -0
  82. package/resources/users/{users.ts → user.ts} +266 -195
  83. package/resources/vehicles/{activity.ts → activity/activity.ts} +20 -20
  84. package/resources/vehicles/{props.ts → props/props.ts} +28 -6
  85. package/resources/vehicles/vehicles.ts +20 -8
  86. package/resources/wiki/{access.ts → access/access.ts} +30 -30
  87. package/resources/wiki/{activity.ts → activity/activity.ts} +104 -70
  88. package/resources/wiki/page.ts +39 -15
  89. package/services/auth/auth.client.ts +23 -10
  90. package/services/auth/auth.ts +445 -262
  91. package/services/calendar/calendar.ts +56 -34
  92. package/services/centrum/centrum.ts +127 -127
  93. package/services/citizens/citizens.client.ts +0 -13
  94. package/services/citizens/citizens.ts +44 -134
  95. package/services/citizens/labels.client.ts +77 -0
  96. package/services/citizens/labels.ts +455 -0
  97. package/services/completor/completor.ts +36 -16
  98. package/services/documents/approval.client.ts +188 -0
  99. package/services/documents/approval.ts +1776 -0
  100. package/services/documents/documents.ts +164 -186
  101. package/services/documents/forms.client.ts +51 -0
  102. package/services/documents/forms.ts +232 -0
  103. package/services/documents/stamps.client.ts +77 -0
  104. package/services/documents/stamps.ts +481 -0
  105. package/services/documents/stats.client.ts +38 -0
  106. package/services/documents/stats.ts +245 -0
  107. package/services/jobs/conduct.client.ts +30 -3
  108. package/services/jobs/conduct.ts +159 -33
  109. package/services/jobs/jobs.ts +43 -43
  110. package/services/jobs/stats.client.ts +38 -0
  111. package/services/jobs/stats.ts +207 -0
  112. package/services/jobs/timeclock.ts +39 -39
  113. package/services/livemap/livemap.ts +18 -18
  114. package/services/mailer/mailer.ts +78 -78
  115. package/services/notifications/notifications.ts +35 -35
  116. package/services/qualifications/qualifications.ts +81 -46
  117. package/services/settings/accounts.client.ts +23 -10
  118. package/services/settings/accounts.ts +191 -30
  119. package/services/settings/cron.client.ts +13 -0
  120. package/services/settings/cron.ts +118 -5
  121. package/services/settings/laws.ts +1 -1
  122. package/services/settings/settings.ts +73 -52
  123. package/services/settings/system.client.ts +13 -0
  124. package/services/settings/system.ts +115 -15
  125. package/services/stats/stats.client.ts +7 -7
  126. package/services/stats/stats.ts +24 -24
  127. package/services/sync/sync.client.ts +271 -37
  128. package/services/sync/sync.ts +1525 -421
  129. package/services/vehicles/vehicles.ts +8 -8
  130. package/services/wiki/wiki.ts +8 -8
  131. package/svcs.ts +100 -6
  132. package/resources/centrum/attributes.ts +0 -183
  133. package/resources/documents/signoff.ts +0 -55
  134. package/resources/users/labels.ts +0 -160
@@ -12,6 +12,12 @@ import type { PartialMessage } from "@protobuf-ts/runtime";
12
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
14
  import { BannerMessage } from "../settings/banner";
15
+ import { Duration } from "../../google/protobuf/duration";
16
+ import { Livemap } from "../settings/config";
17
+ import { Data } from "../settings/data";
18
+ import { QuickButtons } from "../settings/config";
19
+ import { Display } from "../settings/config";
20
+ import { Website } from "../settings/config";
15
21
  /**
16
22
  * @generated from protobuf message resources.clientconfig.ClientConfig
17
23
  */
@@ -25,15 +31,15 @@ export interface ClientConfig {
25
31
  */
26
32
  defaultLocale: string;
27
33
  /**
28
- * @generated from protobuf field: resources.clientconfig.LoginConfig login = 3
34
+ * @generated from protobuf field: resources.clientconfig.Auth auth = 3
29
35
  */
30
- login?: LoginConfig;
36
+ auth?: Auth;
31
37
  /**
32
38
  * @generated from protobuf field: resources.clientconfig.Discord discord = 4
33
39
  */
34
40
  discord?: Discord;
35
41
  /**
36
- * @generated from protobuf field: resources.clientconfig.Website website = 5
42
+ * @generated from protobuf field: resources.settings.Website website = 5
37
43
  */
38
44
  website?: Website;
39
45
  /**
@@ -49,14 +55,22 @@ export interface ClientConfig {
49
55
  */
50
56
  system?: System;
51
57
  /**
52
- * @generated from protobuf field: resources.clientconfig.Display display = 9
58
+ * @generated from protobuf field: resources.settings.Display display = 9
53
59
  */
54
60
  display?: Display;
61
+ /**
62
+ * @generated from protobuf field: resources.settings.QuickButtons quick_buttons = 11
63
+ */
64
+ quickButtons?: QuickButtons;
65
+ /**
66
+ * @generated from protobuf field: resources.settings.Data data = 12
67
+ */
68
+ data?: Data;
55
69
  }
56
70
  /**
57
- * @generated from protobuf message resources.clientconfig.LoginConfig
71
+ * @generated from protobuf message resources.clientconfig.Auth
58
72
  */
59
- export interface LoginConfig {
73
+ export interface Auth {
60
74
  /**
61
75
  * @generated from protobuf field: bool signup_enabled = 1
62
76
  */
@@ -100,40 +114,10 @@ export interface Discord {
100
114
  */
101
115
  botEnabled: boolean;
102
116
  }
103
- /**
104
- * @generated from protobuf message resources.clientconfig.Website
105
- */
106
- export interface Website {
107
- /**
108
- * @generated from protobuf field: resources.clientconfig.Links links = 1
109
- */
110
- links?: Links;
111
- /**
112
- * @generated from protobuf field: bool stats_page = 2
113
- */
114
- statsPage: boolean;
115
- }
116
- /**
117
- * @generated from protobuf message resources.clientconfig.Links
118
- */
119
- export interface Links {
120
- /**
121
- * @generated from protobuf field: optional string imprint = 1
122
- */
123
- imprint?: string;
124
- /**
125
- * @generated from protobuf field: optional string privacy_policy = 2
126
- */
127
- privacyPolicy?: string;
128
- }
129
117
  /**
130
118
  * @generated from protobuf message resources.clientconfig.FeatureGates
131
119
  */
132
120
  export interface FeatureGates {
133
- /**
134
- * @generated from protobuf field: bool image_proxy = 1
135
- */
136
- imageProxy: boolean;
137
121
  }
138
122
  /**
139
123
  * @generated from protobuf message resources.clientconfig.Game
@@ -147,6 +131,26 @@ export interface Game {
147
131
  * @generated from protobuf field: int32 start_job_grade = 2
148
132
  */
149
133
  startJobGrade: number;
134
+ /**
135
+ * @generated from protobuf field: resources.settings.Livemap livemap = 3
136
+ */
137
+ livemap?: Livemap;
138
+ /**
139
+ * @generated from protobuf field: bool max_wanted_duration_user_enabled = 4
140
+ */
141
+ maxWantedDurationUserEnabled: boolean;
142
+ /**
143
+ * @generated from protobuf field: optional google.protobuf.Duration max_wanted_duration_user = 5
144
+ */
145
+ maxWantedDurationUser?: Duration;
146
+ /**
147
+ * @generated from protobuf field: bool max_wanted_duration_vehicle_enabled = 6
148
+ */
149
+ maxWantedDurationVehicleEnabled: boolean;
150
+ /**
151
+ * @generated from protobuf field: optional google.protobuf.Duration max_wanted_duration_vehicle = 7
152
+ */
153
+ maxWantedDurationVehicle?: Duration;
150
154
  }
151
155
  /**
152
156
  * @generated from protobuf message resources.clientconfig.System
@@ -184,36 +188,21 @@ export interface OTLPFrontend {
184
188
  [key: string]: string;
185
189
  };
186
190
  }
187
- /**
188
- * @generated from protobuf message resources.clientconfig.Display
189
- */
190
- export interface Display {
191
- /**
192
- * IETF BCP 47 language tag (e.g. "en-US", "de-DE")
193
- *
194
- * @generated from protobuf field: optional string intl_locale = 1
195
- */
196
- intlLocale?: string;
197
- /**
198
- * ISO 4217 currency code (e.g. "USD", "EUR")
199
- *
200
- * @generated from protobuf field: string currency_name = 2
201
- */
202
- currencyName: string;
203
- }
204
191
  // @generated message type with reflection information, may provide speed optimized methods
205
192
  class ClientConfig$Type extends MessageType<ClientConfig> {
206
193
  constructor() {
207
194
  super("resources.clientconfig.ClientConfig", [
208
- { no: 1, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
195
+ { no: 1, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"version\"" } },
209
196
  { no: 2, name: "default_locale", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"defaultLocale\"" } },
210
- { no: 3, name: "login", kind: "message", T: () => LoginConfig },
211
- { no: 4, name: "discord", kind: "message", T: () => Discord },
212
- { no: 5, name: "website", kind: "message", T: () => Website },
197
+ { no: 3, name: "auth", kind: "message", T: () => Auth, options: { "tagger.tags": "json:\"auth\"" } },
198
+ { no: 4, name: "discord", kind: "message", T: () => Discord, options: { "tagger.tags": "json:\"discord\"" } },
199
+ { no: 5, name: "website", kind: "message", T: () => Website, options: { "tagger.tags": "json:\"website\"" } },
213
200
  { no: 6, name: "feature_gates", kind: "message", T: () => FeatureGates, options: { "tagger.tags": "json:\"featureGates\"" } },
214
- { no: 7, name: "game", kind: "message", T: () => Game },
215
- { no: 8, name: "system", kind: "message", T: () => System },
216
- { no: 9, name: "display", kind: "message", T: () => Display, options: { "tagger.tags": "json:\"display\"" } }
201
+ { no: 7, name: "game", kind: "message", T: () => Game, options: { "tagger.tags": "json:\"game\"" } },
202
+ { no: 8, name: "system", kind: "message", T: () => System, options: { "tagger.tags": "json:\"system\"" } },
203
+ { no: 9, name: "display", kind: "message", T: () => Display, options: { "tagger.tags": "json:\"display\"" } },
204
+ { no: 11, name: "quick_buttons", kind: "message", T: () => QuickButtons, options: { "tagger.tags": "json:\"quickButtons\"" } },
205
+ { no: 12, name: "data", kind: "message", T: () => Data, options: { "tagger.tags": "json:\"data\"" } }
217
206
  ]);
218
207
  }
219
208
  create(value?: PartialMessage<ClientConfig>): ClientConfig {
@@ -235,13 +224,13 @@ class ClientConfig$Type extends MessageType<ClientConfig> {
235
224
  case /* string default_locale */ 2:
236
225
  message.defaultLocale = reader.string();
237
226
  break;
238
- case /* resources.clientconfig.LoginConfig login */ 3:
239
- message.login = LoginConfig.internalBinaryRead(reader, reader.uint32(), options, message.login);
227
+ case /* resources.clientconfig.Auth auth */ 3:
228
+ message.auth = Auth.internalBinaryRead(reader, reader.uint32(), options, message.auth);
240
229
  break;
241
230
  case /* resources.clientconfig.Discord discord */ 4:
242
231
  message.discord = Discord.internalBinaryRead(reader, reader.uint32(), options, message.discord);
243
232
  break;
244
- case /* resources.clientconfig.Website website */ 5:
233
+ case /* resources.settings.Website website */ 5:
245
234
  message.website = Website.internalBinaryRead(reader, reader.uint32(), options, message.website);
246
235
  break;
247
236
  case /* resources.clientconfig.FeatureGates feature_gates */ 6:
@@ -253,9 +242,15 @@ class ClientConfig$Type extends MessageType<ClientConfig> {
253
242
  case /* resources.clientconfig.System system */ 8:
254
243
  message.system = System.internalBinaryRead(reader, reader.uint32(), options, message.system);
255
244
  break;
256
- case /* resources.clientconfig.Display display */ 9:
245
+ case /* resources.settings.Display display */ 9:
257
246
  message.display = Display.internalBinaryRead(reader, reader.uint32(), options, message.display);
258
247
  break;
248
+ case /* resources.settings.QuickButtons quick_buttons */ 11:
249
+ message.quickButtons = QuickButtons.internalBinaryRead(reader, reader.uint32(), options, message.quickButtons);
250
+ break;
251
+ case /* resources.settings.Data data */ 12:
252
+ message.data = Data.internalBinaryRead(reader, reader.uint32(), options, message.data);
253
+ break;
259
254
  default:
260
255
  let u = options.readUnknownField;
261
256
  if (u === "throw")
@@ -274,13 +269,13 @@ class ClientConfig$Type extends MessageType<ClientConfig> {
274
269
  /* string default_locale = 2; */
275
270
  if (message.defaultLocale !== "")
276
271
  writer.tag(2, WireType.LengthDelimited).string(message.defaultLocale);
277
- /* resources.clientconfig.LoginConfig login = 3; */
278
- if (message.login)
279
- LoginConfig.internalBinaryWrite(message.login, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
272
+ /* resources.clientconfig.Auth auth = 3; */
273
+ if (message.auth)
274
+ Auth.internalBinaryWrite(message.auth, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
280
275
  /* resources.clientconfig.Discord discord = 4; */
281
276
  if (message.discord)
282
277
  Discord.internalBinaryWrite(message.discord, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
283
- /* resources.clientconfig.Website website = 5; */
278
+ /* resources.settings.Website website = 5; */
284
279
  if (message.website)
285
280
  Website.internalBinaryWrite(message.website, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
286
281
  /* resources.clientconfig.FeatureGates feature_gates = 6; */
@@ -292,9 +287,15 @@ class ClientConfig$Type extends MessageType<ClientConfig> {
292
287
  /* resources.clientconfig.System system = 8; */
293
288
  if (message.system)
294
289
  System.internalBinaryWrite(message.system, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
295
- /* resources.clientconfig.Display display = 9; */
290
+ /* resources.settings.Display display = 9; */
296
291
  if (message.display)
297
292
  Display.internalBinaryWrite(message.display, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
293
+ /* resources.settings.QuickButtons quick_buttons = 11; */
294
+ if (message.quickButtons)
295
+ QuickButtons.internalBinaryWrite(message.quickButtons, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
296
+ /* resources.settings.Data data = 12; */
297
+ if (message.data)
298
+ Data.internalBinaryWrite(message.data, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
298
299
  let u = options.writeUnknownFields;
299
300
  if (u !== false)
300
301
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -306,24 +307,24 @@ class ClientConfig$Type extends MessageType<ClientConfig> {
306
307
  */
307
308
  export const ClientConfig = new ClientConfig$Type();
308
309
  // @generated message type with reflection information, may provide speed optimized methods
309
- class LoginConfig$Type extends MessageType<LoginConfig> {
310
+ class Auth$Type extends MessageType<Auth> {
310
311
  constructor() {
311
- super("resources.clientconfig.LoginConfig", [
312
+ super("resources.clientconfig.Auth", [
312
313
  { no: 1, name: "signup_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"signupEnabled\"" } },
313
314
  { no: 2, name: "last_char_lock", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"lastCharLock\"" } },
314
315
  { no: 3, name: "providers", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ProviderConfig, options: { "tagger.tags": "json:\"providers\"" } }
315
316
  ]);
316
317
  }
317
- create(value?: PartialMessage<LoginConfig>): LoginConfig {
318
+ create(value?: PartialMessage<Auth>): Auth {
318
319
  const message = globalThis.Object.create((this.messagePrototype!));
319
320
  message.signupEnabled = false;
320
321
  message.lastCharLock = false;
321
322
  message.providers = [];
322
323
  if (value !== undefined)
323
- reflectionMergePartial<LoginConfig>(this, message, value);
324
+ reflectionMergePartial<Auth>(this, message, value);
324
325
  return message;
325
326
  }
326
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LoginConfig): LoginConfig {
327
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Auth): Auth {
327
328
  let message = target ?? this.create(), end = reader.pos + length;
328
329
  while (reader.pos < end) {
329
330
  let [fieldNo, wireType] = reader.tag();
@@ -348,7 +349,7 @@ class LoginConfig$Type extends MessageType<LoginConfig> {
348
349
  }
349
350
  return message;
350
351
  }
351
- internalBinaryWrite(message: LoginConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
352
+ internalBinaryWrite(message: Auth, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
352
353
  /* bool signup_enabled = 1; */
353
354
  if (message.signupEnabled !== false)
354
355
  writer.tag(1, WireType.Varint).bool(message.signupEnabled);
@@ -365,17 +366,17 @@ class LoginConfig$Type extends MessageType<LoginConfig> {
365
366
  }
366
367
  }
367
368
  /**
368
- * @generated MessageType for protobuf message resources.clientconfig.LoginConfig
369
+ * @generated MessageType for protobuf message resources.clientconfig.Auth
369
370
  */
370
- export const LoginConfig = new LoginConfig$Type();
371
+ export const Auth = new Auth$Type();
371
372
  // @generated message type with reflection information, may provide speed optimized methods
372
373
  class ProviderConfig$Type extends MessageType<ProviderConfig> {
373
374
  constructor() {
374
375
  super("resources.clientconfig.ProviderConfig", [
375
- { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
376
- { no: 2, name: "label", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
377
- { no: 3, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
378
- { no: 4, name: "homepage", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
376
+ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"name\"" } },
377
+ { no: 2, name: "label", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"label\"" } },
378
+ { no: 3, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"icon,omitempty\"" } },
379
+ { no: 4, name: "homepage", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"homepage\"" } }
379
380
  ]);
380
381
  }
381
382
  create(value?: PartialMessage<ProviderConfig>): ProviderConfig {
@@ -486,122 +487,12 @@ class Discord$Type extends MessageType<Discord> {
486
487
  */
487
488
  export const Discord = new Discord$Type();
488
489
  // @generated message type with reflection information, may provide speed optimized methods
489
- class Website$Type extends MessageType<Website> {
490
- constructor() {
491
- super("resources.clientconfig.Website", [
492
- { no: 1, name: "links", kind: "message", T: () => Links },
493
- { no: 2, name: "stats_page", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"statsPage\"" } }
494
- ]);
495
- }
496
- create(value?: PartialMessage<Website>): Website {
497
- const message = globalThis.Object.create((this.messagePrototype!));
498
- message.statsPage = false;
499
- if (value !== undefined)
500
- reflectionMergePartial<Website>(this, message, value);
501
- return message;
502
- }
503
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Website): Website {
504
- let message = target ?? this.create(), end = reader.pos + length;
505
- while (reader.pos < end) {
506
- let [fieldNo, wireType] = reader.tag();
507
- switch (fieldNo) {
508
- case /* resources.clientconfig.Links links */ 1:
509
- message.links = Links.internalBinaryRead(reader, reader.uint32(), options, message.links);
510
- break;
511
- case /* bool stats_page */ 2:
512
- message.statsPage = reader.bool();
513
- break;
514
- default:
515
- let u = options.readUnknownField;
516
- if (u === "throw")
517
- throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
518
- let d = reader.skip(wireType);
519
- if (u !== false)
520
- (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
521
- }
522
- }
523
- return message;
524
- }
525
- internalBinaryWrite(message: Website, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
526
- /* resources.clientconfig.Links links = 1; */
527
- if (message.links)
528
- Links.internalBinaryWrite(message.links, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
529
- /* bool stats_page = 2; */
530
- if (message.statsPage !== false)
531
- writer.tag(2, WireType.Varint).bool(message.statsPage);
532
- let u = options.writeUnknownFields;
533
- if (u !== false)
534
- (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
535
- return writer;
536
- }
537
- }
538
- /**
539
- * @generated MessageType for protobuf message resources.clientconfig.Website
540
- */
541
- export const Website = new Website$Type();
542
- // @generated message type with reflection information, may provide speed optimized methods
543
- class Links$Type extends MessageType<Links> {
544
- constructor() {
545
- super("resources.clientconfig.Links", [
546
- { no: 1, name: "imprint", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
547
- { no: 2, name: "privacy_policy", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"privacyPolicy\"" } }
548
- ]);
549
- }
550
- create(value?: PartialMessage<Links>): Links {
551
- const message = globalThis.Object.create((this.messagePrototype!));
552
- if (value !== undefined)
553
- reflectionMergePartial<Links>(this, message, value);
554
- return message;
555
- }
556
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Links): Links {
557
- let message = target ?? this.create(), end = reader.pos + length;
558
- while (reader.pos < end) {
559
- let [fieldNo, wireType] = reader.tag();
560
- switch (fieldNo) {
561
- case /* optional string imprint */ 1:
562
- message.imprint = reader.string();
563
- break;
564
- case /* optional string privacy_policy */ 2:
565
- message.privacyPolicy = reader.string();
566
- break;
567
- default:
568
- let u = options.readUnknownField;
569
- if (u === "throw")
570
- throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
571
- let d = reader.skip(wireType);
572
- if (u !== false)
573
- (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
574
- }
575
- }
576
- return message;
577
- }
578
- internalBinaryWrite(message: Links, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
579
- /* optional string imprint = 1; */
580
- if (message.imprint !== undefined)
581
- writer.tag(1, WireType.LengthDelimited).string(message.imprint);
582
- /* optional string privacy_policy = 2; */
583
- if (message.privacyPolicy !== undefined)
584
- writer.tag(2, WireType.LengthDelimited).string(message.privacyPolicy);
585
- let u = options.writeUnknownFields;
586
- if (u !== false)
587
- (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
588
- return writer;
589
- }
590
- }
591
- /**
592
- * @generated MessageType for protobuf message resources.clientconfig.Links
593
- */
594
- export const Links = new Links$Type();
595
- // @generated message type with reflection information, may provide speed optimized methods
596
490
  class FeatureGates$Type extends MessageType<FeatureGates> {
597
491
  constructor() {
598
- super("resources.clientconfig.FeatureGates", [
599
- { no: 1, name: "image_proxy", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"imageProxy\"" } }
600
- ]);
492
+ super("resources.clientconfig.FeatureGates", []);
601
493
  }
602
494
  create(value?: PartialMessage<FeatureGates>): FeatureGates {
603
495
  const message = globalThis.Object.create((this.messagePrototype!));
604
- message.imageProxy = false;
605
496
  if (value !== undefined)
606
497
  reflectionMergePartial<FeatureGates>(this, message, value);
607
498
  return message;
@@ -611,9 +502,6 @@ class FeatureGates$Type extends MessageType<FeatureGates> {
611
502
  while (reader.pos < end) {
612
503
  let [fieldNo, wireType] = reader.tag();
613
504
  switch (fieldNo) {
614
- case /* bool image_proxy */ 1:
615
- message.imageProxy = reader.bool();
616
- break;
617
505
  default:
618
506
  let u = options.readUnknownField;
619
507
  if (u === "throw")
@@ -626,9 +514,6 @@ class FeatureGates$Type extends MessageType<FeatureGates> {
626
514
  return message;
627
515
  }
628
516
  internalBinaryWrite(message: FeatureGates, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
629
- /* bool image_proxy = 1; */
630
- if (message.imageProxy !== false)
631
- writer.tag(1, WireType.Varint).bool(message.imageProxy);
632
517
  let u = options.writeUnknownFields;
633
518
  if (u !== false)
634
519
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -644,13 +529,20 @@ class Game$Type extends MessageType<Game> {
644
529
  constructor() {
645
530
  super("resources.clientconfig.Game", [
646
531
  { no: 1, name: "unemployed_job_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"unemployedJobName\"" } },
647
- { no: 2, name: "start_job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "tagger.tags": "json:\"startJobGrade\"" } }
532
+ { no: 2, name: "start_job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "tagger.tags": "json:\"startJobGrade\"" } },
533
+ { no: 3, name: "livemap", kind: "message", T: () => Livemap, options: { "tagger.tags": "json:\"livemap\"" } },
534
+ { no: 4, name: "max_wanted_duration_user_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"maxWantedDurationUserEnabled\"" } },
535
+ { no: 5, name: "max_wanted_duration_user", kind: "message", T: () => Duration, options: { "buf.validate.field": { duration: { lte: { seconds: "315360000" }, gte: { seconds: "86400" } } }, "tagger.tags": "json:\"maxWantedDurationUser,omitempty\"" } },
536
+ { no: 6, name: "max_wanted_duration_vehicle_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"maxWantedDurationVehicleEnabled\"" } },
537
+ { no: 7, name: "max_wanted_duration_vehicle", kind: "message", T: () => Duration, options: { "buf.validate.field": { duration: { lte: { seconds: "315360000" }, gte: { seconds: "86400" } } }, "tagger.tags": "json:\"maxWantedDurationVehicle,omitempty\"" } }
648
538
  ]);
649
539
  }
650
540
  create(value?: PartialMessage<Game>): Game {
651
541
  const message = globalThis.Object.create((this.messagePrototype!));
652
542
  message.unemployedJobName = "";
653
543
  message.startJobGrade = 0;
544
+ message.maxWantedDurationUserEnabled = false;
545
+ message.maxWantedDurationVehicleEnabled = false;
654
546
  if (value !== undefined)
655
547
  reflectionMergePartial<Game>(this, message, value);
656
548
  return message;
@@ -666,6 +558,21 @@ class Game$Type extends MessageType<Game> {
666
558
  case /* int32 start_job_grade */ 2:
667
559
  message.startJobGrade = reader.int32();
668
560
  break;
561
+ case /* resources.settings.Livemap livemap */ 3:
562
+ message.livemap = Livemap.internalBinaryRead(reader, reader.uint32(), options, message.livemap);
563
+ break;
564
+ case /* bool max_wanted_duration_user_enabled */ 4:
565
+ message.maxWantedDurationUserEnabled = reader.bool();
566
+ break;
567
+ case /* optional google.protobuf.Duration max_wanted_duration_user */ 5:
568
+ message.maxWantedDurationUser = Duration.internalBinaryRead(reader, reader.uint32(), options, message.maxWantedDurationUser);
569
+ break;
570
+ case /* bool max_wanted_duration_vehicle_enabled */ 6:
571
+ message.maxWantedDurationVehicleEnabled = reader.bool();
572
+ break;
573
+ case /* optional google.protobuf.Duration max_wanted_duration_vehicle */ 7:
574
+ message.maxWantedDurationVehicle = Duration.internalBinaryRead(reader, reader.uint32(), options, message.maxWantedDurationVehicle);
575
+ break;
669
576
  default:
670
577
  let u = options.readUnknownField;
671
578
  if (u === "throw")
@@ -684,6 +591,21 @@ class Game$Type extends MessageType<Game> {
684
591
  /* int32 start_job_grade = 2; */
685
592
  if (message.startJobGrade !== 0)
686
593
  writer.tag(2, WireType.Varint).int32(message.startJobGrade);
594
+ /* resources.settings.Livemap livemap = 3; */
595
+ if (message.livemap)
596
+ Livemap.internalBinaryWrite(message.livemap, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
597
+ /* bool max_wanted_duration_user_enabled = 4; */
598
+ if (message.maxWantedDurationUserEnabled !== false)
599
+ writer.tag(4, WireType.Varint).bool(message.maxWantedDurationUserEnabled);
600
+ /* optional google.protobuf.Duration max_wanted_duration_user = 5; */
601
+ if (message.maxWantedDurationUser)
602
+ Duration.internalBinaryWrite(message.maxWantedDurationUser, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
603
+ /* bool max_wanted_duration_vehicle_enabled = 6; */
604
+ if (message.maxWantedDurationVehicleEnabled !== false)
605
+ writer.tag(6, WireType.Varint).bool(message.maxWantedDurationVehicleEnabled);
606
+ /* optional google.protobuf.Duration max_wanted_duration_vehicle = 7; */
607
+ if (message.maxWantedDurationVehicle)
608
+ Duration.internalBinaryWrite(message.maxWantedDurationVehicle, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
687
609
  let u = options.writeUnknownFields;
688
610
  if (u !== false)
689
611
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -699,8 +621,8 @@ class System$Type extends MessageType<System> {
699
621
  constructor() {
700
622
  super("resources.clientconfig.System", [
701
623
  { no: 1, name: "banner_message_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"bannerMessageEnabled\"" } },
702
- { no: 2, name: "banner_message", kind: "message", T: () => BannerMessage, options: { "tagger.tags": "json:\"bannerMessages\"" } },
703
- { no: 3, name: "otlp", kind: "message", T: () => OTLPFrontend }
624
+ { no: 2, name: "banner_message", kind: "message", T: () => BannerMessage, options: { "tagger.tags": "json:\"bannerMessage,omitempty\"" } },
625
+ { no: 3, name: "otlp", kind: "message", T: () => OTLPFrontend, options: { "tagger.tags": "json:\"otlp\"" } }
704
626
  ]);
705
627
  }
706
628
  create(value?: PartialMessage<System>): System {
@@ -759,9 +681,9 @@ export const System = new System$Type();
759
681
  class OTLPFrontend$Type extends MessageType<OTLPFrontend> {
760
682
  constructor() {
761
683
  super("resources.clientconfig.OTLPFrontend", [
762
- { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
763
- { no: 2, name: "url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
764
- { no: 3, name: "headers", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 9 /*ScalarType.STRING*/ } }
684
+ { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/, options: { "tagger.tags": "json:\"enabled\"" } },
685
+ { no: 2, name: "url", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"url\"" } },
686
+ { no: 3, name: "headers", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 9 /*ScalarType.STRING*/ }, options: { "tagger.tags": "json:\"headers\"" } }
765
687
  ]);
766
688
  }
767
689
  create(value?: PartialMessage<OTLPFrontend>): OTLPFrontend {
@@ -834,57 +756,3 @@ class OTLPFrontend$Type extends MessageType<OTLPFrontend> {
834
756
  * @generated MessageType for protobuf message resources.clientconfig.OTLPFrontend
835
757
  */
836
758
  export const OTLPFrontend = new OTLPFrontend$Type();
837
- // @generated message type with reflection information, may provide speed optimized methods
838
- class Display$Type extends MessageType<Display> {
839
- constructor() {
840
- super("resources.clientconfig.Display", [
841
- { no: 1, name: "intl_locale", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"intlLocale\"" } },
842
- { no: 2, name: "currency_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "json:\"currencyName\"" } }
843
- ]);
844
- }
845
- create(value?: PartialMessage<Display>): Display {
846
- const message = globalThis.Object.create((this.messagePrototype!));
847
- message.currencyName = "";
848
- if (value !== undefined)
849
- reflectionMergePartial<Display>(this, message, value);
850
- return message;
851
- }
852
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Display): Display {
853
- let message = target ?? this.create(), end = reader.pos + length;
854
- while (reader.pos < end) {
855
- let [fieldNo, wireType] = reader.tag();
856
- switch (fieldNo) {
857
- case /* optional string intl_locale */ 1:
858
- message.intlLocale = reader.string();
859
- break;
860
- case /* string currency_name */ 2:
861
- message.currencyName = reader.string();
862
- break;
863
- default:
864
- let u = options.readUnknownField;
865
- if (u === "throw")
866
- throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
867
- let d = reader.skip(wireType);
868
- if (u !== false)
869
- (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
870
- }
871
- }
872
- return message;
873
- }
874
- internalBinaryWrite(message: Display, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
875
- /* optional string intl_locale = 1; */
876
- if (message.intlLocale !== undefined)
877
- writer.tag(1, WireType.LengthDelimited).string(message.intlLocale);
878
- /* string currency_name = 2; */
879
- if (message.currencyName !== "")
880
- writer.tag(2, WireType.LengthDelimited).string(message.currencyName);
881
- let u = options.writeUnknownFields;
882
- if (u !== false)
883
- (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
884
- return writer;
885
- }
886
- }
887
- /**
888
- * @generated MessageType for protobuf message resources.clientconfig.Display
889
- */
890
- export const Display = new Display$Type();