@closerepo/radar-contracts 2.0.0 → 2.2.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.
package/dist/index.d.ts CHANGED
@@ -5126,6 +5126,226 @@ declare function projectRadarResetExportV1FromV2(value: RadarResetExportV2): {
5126
5126
  }[];
5127
5127
  };
5128
5128
  //#endregion
5129
+ //#region src/reset-management.d.ts
5130
+ declare const radarResetManualCopySchema: z.ZodObject<{
5131
+ zh: z.ZodObject<{
5132
+ title: z.ZodString;
5133
+ body: z.ZodString;
5134
+ }, z.core.$strict>;
5135
+ en: z.ZodObject<{
5136
+ title: z.ZodString;
5137
+ body: z.ZodString;
5138
+ }, z.core.$strict>;
5139
+ }, z.core.$strict>;
5140
+ declare const radarResetManagementOperationSchema: z.ZodEnum<{
5141
+ end_preview: "end_preview";
5142
+ restore_preview: "restore_preview";
5143
+ set_auto_notification: "set_auto_notification";
5144
+ notify: "notify";
5145
+ }>;
5146
+ /** Operator commands never assert execution, timing, scope or an official cancellation. */
5147
+ declare const radarResetManualDraftSchema: z.ZodObject<{
5148
+ resetActionId: z.ZodString;
5149
+ operation: z.ZodEnum<{
5150
+ end_preview: "end_preview";
5151
+ restore_preview: "restore_preview";
5152
+ set_auto_notification: "set_auto_notification";
5153
+ notify: "notify";
5154
+ }>;
5155
+ expectedRevision: z.ZodInt;
5156
+ copy: z.ZodNullable<z.ZodObject<{
5157
+ zh: z.ZodObject<{
5158
+ title: z.ZodString;
5159
+ body: z.ZodString;
5160
+ }, z.core.$strict>;
5161
+ en: z.ZodObject<{
5162
+ title: z.ZodString;
5163
+ body: z.ZodString;
5164
+ }, z.core.$strict>;
5165
+ }, z.core.$strict>>;
5166
+ automaticNotification: z.ZodNullable<z.ZodBoolean>;
5167
+ }, z.core.$strict>;
5168
+ declare const radarResetManualPreviewReqSchema: z.ZodObject<{
5169
+ resetActionId: z.ZodString;
5170
+ operation: z.ZodEnum<{
5171
+ end_preview: "end_preview";
5172
+ restore_preview: "restore_preview";
5173
+ set_auto_notification: "set_auto_notification";
5174
+ notify: "notify";
5175
+ }>;
5176
+ expectedRevision: z.ZodInt;
5177
+ copy: z.ZodNullable<z.ZodObject<{
5178
+ zh: z.ZodObject<{
5179
+ title: z.ZodString;
5180
+ body: z.ZodString;
5181
+ }, z.core.$strict>;
5182
+ en: z.ZodObject<{
5183
+ title: z.ZodString;
5184
+ body: z.ZodString;
5185
+ }, z.core.$strict>;
5186
+ }, z.core.$strict>>;
5187
+ automaticNotification: z.ZodNullable<z.ZodBoolean>;
5188
+ }, z.core.$strict>;
5189
+ declare const radarResetManualDraftSeedSchema: z.ZodObject<{
5190
+ resetActionId: z.ZodString;
5191
+ operation: z.ZodEnum<{
5192
+ end_preview: "end_preview";
5193
+ restore_preview: "restore_preview";
5194
+ set_auto_notification: "set_auto_notification";
5195
+ notify: "notify";
5196
+ }>;
5197
+ expectedRevision: z.ZodInt;
5198
+ copy: z.ZodNullable<z.ZodObject<{
5199
+ zh: z.ZodObject<{
5200
+ title: z.ZodString;
5201
+ body: z.ZodString;
5202
+ }, z.core.$strict>;
5203
+ en: z.ZodObject<{
5204
+ title: z.ZodString;
5205
+ body: z.ZodString;
5206
+ }, z.core.$strict>;
5207
+ }, z.core.$strict>>;
5208
+ automaticNotification: z.ZodNullable<z.ZodBoolean>;
5209
+ }, z.core.$strict>;
5210
+ declare const radarResetManualPreviewResSchema: z.ZodObject<{
5211
+ digest: z.ZodString;
5212
+ sourceWatermark: z.ZodString;
5213
+ draft: z.ZodObject<{
5214
+ resetActionId: z.ZodString;
5215
+ operation: z.ZodEnum<{
5216
+ end_preview: "end_preview";
5217
+ restore_preview: "restore_preview";
5218
+ set_auto_notification: "set_auto_notification";
5219
+ notify: "notify";
5220
+ }>;
5221
+ expectedRevision: z.ZodInt;
5222
+ copy: z.ZodNullable<z.ZodObject<{
5223
+ zh: z.ZodObject<{
5224
+ title: z.ZodString;
5225
+ body: z.ZodString;
5226
+ }, z.core.$strict>;
5227
+ en: z.ZodObject<{
5228
+ title: z.ZodString;
5229
+ body: z.ZodString;
5230
+ }, z.core.$strict>;
5231
+ }, z.core.$strict>>;
5232
+ automaticNotification: z.ZodNullable<z.ZodBoolean>;
5233
+ }, z.core.$strict>;
5234
+ }, z.core.$strict>;
5235
+ declare const radarResetManualApplyReqSchema: z.ZodObject<{
5236
+ operationId: z.ZodUUID;
5237
+ preview: z.ZodObject<{
5238
+ digest: z.ZodString;
5239
+ sourceWatermark: z.ZodString;
5240
+ draft: z.ZodObject<{
5241
+ resetActionId: z.ZodString;
5242
+ operation: z.ZodEnum<{
5243
+ end_preview: "end_preview";
5244
+ restore_preview: "restore_preview";
5245
+ set_auto_notification: "set_auto_notification";
5246
+ notify: "notify";
5247
+ }>;
5248
+ expectedRevision: z.ZodInt;
5249
+ copy: z.ZodNullable<z.ZodObject<{
5250
+ zh: z.ZodObject<{
5251
+ title: z.ZodString;
5252
+ body: z.ZodString;
5253
+ }, z.core.$strict>;
5254
+ en: z.ZodObject<{
5255
+ title: z.ZodString;
5256
+ body: z.ZodString;
5257
+ }, z.core.$strict>;
5258
+ }, z.core.$strict>>;
5259
+ automaticNotification: z.ZodNullable<z.ZodBoolean>;
5260
+ }, z.core.$strict>;
5261
+ }, z.core.$strict>;
5262
+ }, z.core.$strict>;
5263
+ declare const radarResetManagementActionSchema: z.ZodObject<{
5264
+ resetActionId: z.ZodString;
5265
+ revision: z.ZodNumber;
5266
+ state: z.ZodEnum<{
5267
+ preview: "preview";
5268
+ executed: "executed";
5269
+ cancelled: "cancelled";
5270
+ undetermined: "undetermined";
5271
+ }>;
5272
+ firstAnnouncedAt: z.ZodNullable<z.ZodISODateTime>;
5273
+ officialConfirmed: z.ZodBoolean;
5274
+ pendingPreview: z.ZodBoolean;
5275
+ previewClosed: z.ZodBoolean;
5276
+ automaticNotification: z.ZodBoolean;
5277
+ sourceUrls: z.ZodArray<z.ZodString>;
5278
+ availableOperations: z.ZodArray<z.ZodEnum<{
5279
+ end_preview: "end_preview";
5280
+ restore_preview: "restore_preview";
5281
+ set_auto_notification: "set_auto_notification";
5282
+ notify: "notify";
5283
+ }>>;
5284
+ notificationOperationId: z.ZodNullable<z.ZodUUID>;
5285
+ }, z.core.$strict>;
5286
+ declare const radarResetManagementResSchema: z.ZodObject<{
5287
+ actions: z.ZodArray<z.ZodObject<{
5288
+ resetActionId: z.ZodString;
5289
+ revision: z.ZodNumber;
5290
+ state: z.ZodEnum<{
5291
+ preview: "preview";
5292
+ executed: "executed";
5293
+ cancelled: "cancelled";
5294
+ undetermined: "undetermined";
5295
+ }>;
5296
+ firstAnnouncedAt: z.ZodNullable<z.ZodISODateTime>;
5297
+ officialConfirmed: z.ZodBoolean;
5298
+ pendingPreview: z.ZodBoolean;
5299
+ previewClosed: z.ZodBoolean;
5300
+ automaticNotification: z.ZodBoolean;
5301
+ sourceUrls: z.ZodArray<z.ZodString>;
5302
+ availableOperations: z.ZodArray<z.ZodEnum<{
5303
+ end_preview: "end_preview";
5304
+ restore_preview: "restore_preview";
5305
+ set_auto_notification: "set_auto_notification";
5306
+ notify: "notify";
5307
+ }>>;
5308
+ notificationOperationId: z.ZodNullable<z.ZodUUID>;
5309
+ }, z.core.$strict>>;
5310
+ }, z.core.$strict>;
5311
+ declare const radarResetManualResultResSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5312
+ status: z.ZodLiteral<"unknown">;
5313
+ operationId: z.ZodUUID;
5314
+ }, z.core.$strict>, z.ZodObject<{
5315
+ status: z.ZodLiteral<"saved">;
5316
+ operationId: z.ZodUUID;
5317
+ resetActionId: z.ZodString;
5318
+ operation: z.ZodEnum<{
5319
+ end_preview: "end_preview";
5320
+ restore_preview: "restore_preview";
5321
+ set_auto_notification: "set_auto_notification";
5322
+ notify: "notify";
5323
+ }>;
5324
+ revision: z.ZodNumber;
5325
+ notification: z.ZodObject<{
5326
+ state: z.ZodEnum<{
5327
+ pending: "pending";
5328
+ disabled: "disabled";
5329
+ claimed: "claimed";
5330
+ retry_wait: "retry_wait";
5331
+ accepted: "accepted";
5332
+ rejected: "rejected";
5333
+ expired: "expired";
5334
+ }>;
5335
+ resultCode: z.ZodNullable<z.ZodString>;
5336
+ diagnostic: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
5337
+ }, z.core.$strict>;
5338
+ }, z.core.$strict>], "status">;
5339
+ declare namespace RadarResetManagement {
5340
+ type Copy = z.infer<typeof radarResetManualCopySchema>;
5341
+ type Draft = z.infer<typeof radarResetManualDraftSchema>;
5342
+ type Preview = z.infer<typeof radarResetManualPreviewResSchema>;
5343
+ type ApplyReq = z.infer<typeof radarResetManualApplyReqSchema>;
5344
+ type Action = z.infer<typeof radarResetManagementActionSchema>;
5345
+ type Document = z.infer<typeof radarResetManagementResSchema>;
5346
+ type Result = z.infer<typeof radarResetManualResultResSchema>;
5347
+ }
5348
+ //#endregion
5129
5349
  //#region src/codex-progress-posts-v5.d.ts
5130
5350
  /** A post's role describes its relation to this improvement; legacy and repeated posts have no role. */
5131
5351
  declare const radarCodexProgressPostRoleV5Schema: z.ZodNullable<z.ZodEnum<{
@@ -5983,6 +6203,31 @@ declare const radarNotificationProjectionSchema: z.ZodObject<{
5983
6203
  }, z.core.$strict>], "kind">;
5984
6204
  }, z.core.$strict>;
5985
6205
  type RadarNotificationProjection = z.infer<typeof radarNotificationProjectionSchema>;
6206
+ /** Browser-only clues must not widen the mini-program task contract or consume its quota. */
6207
+ declare const radarBrowserNotificationTopicSchema: z.ZodEnum<{
6208
+ improvement: "improvement";
6209
+ reset: "reset";
6210
+ clue: "clue";
6211
+ }>;
6212
+ declare const radarBrowserNotificationProjectionSchema: z.ZodObject<{
6213
+ topics: z.ZodArray<z.ZodEnum<{
6214
+ improvement: "improvement";
6215
+ reset: "reset";
6216
+ clue: "clue";
6217
+ }>>;
6218
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
6219
+ kind: z.ZodLiteral<"reset">;
6220
+ webUrl: z.ZodURL;
6221
+ miniPath: z.ZodLiteral<"pages/index/index">;
6222
+ }, z.core.$strict>, z.ZodObject<{
6223
+ kind: z.ZodLiteral<"improvement">;
6224
+ webUrl: z.ZodURL;
6225
+ miniPath: z.ZodLiteral<"pages/index/index?page=challenge">;
6226
+ }, z.core.$strict>], "kind">;
6227
+ }, z.core.$strict>;
6228
+ type RadarBrowserNotificationProjection = z.infer<typeof radarBrowserNotificationProjectionSchema>;
6229
+ /** Clue notifications lead to the existing reset monitor, while their subscription stays independent. */
6230
+ declare function createRadarBrowserNotificationProjection(topic: z.infer<typeof radarBrowserNotificationTopicSchema>, locale: RadarWebsiteLocale): RadarBrowserNotificationProjection;
5986
6231
  /** New notices use existing home/column routes; historical in-flight records retain their own snapshot. */
5987
6232
  declare function createRadarNotificationProjection(topic: RadarNotificationTopic, locale: RadarWebsiteLocale): RadarNotificationProjection;
5988
6233
  declare const radarNotificationTaskSchema: z.ZodObject<{
@@ -6145,8 +6390,8 @@ declare const radarBrowserSubscriptionOperationSchema: z.ZodObject<{
6145
6390
  state: z.ZodEnum<{
6146
6391
  unknown: "unknown";
6147
6392
  pending: "pending";
6148
- applied: "applied";
6149
6393
  rejected: "rejected";
6394
+ applied: "applied";
6150
6395
  superseded: "superseded";
6151
6396
  not_found: "not_found";
6152
6397
  }>;
@@ -6210,8 +6455,8 @@ declare const radarBrowserSubscriptionViewSchema: z.ZodObject<{
6210
6455
  state: z.ZodEnum<{
6211
6456
  unknown: "unknown";
6212
6457
  pending: "pending";
6213
- applied: "applied";
6214
6458
  rejected: "rejected";
6459
+ applied: "applied";
6215
6460
  superseded: "superseded";
6216
6461
  not_found: "not_found";
6217
6462
  }>;
@@ -6245,12 +6490,23 @@ declare const radarBrowserSubscriptionViewSchema: z.ZodObject<{
6245
6490
  }, z.core.$strict>>;
6246
6491
  }, z.core.$strict>;
6247
6492
  type RadarBrowserSubscriptionView = z.infer<typeof radarBrowserSubscriptionViewSchema>;
6493
+ type SubscriptionSelectionCommand<Topics> = Omit<Extract<RadarBrowserSubscriptionSave, {
6494
+ action: "register";
6495
+ }>, "topics"> & {
6496
+ topics: Topics;
6497
+ } | Omit<Extract<RadarBrowserSubscriptionSave, {
6498
+ action: "set_topics";
6499
+ }>, "topics"> & {
6500
+ topics: Topics;
6501
+ } | Exclude<RadarBrowserSubscriptionSave, {
6502
+ action: "register" | "set_topics";
6503
+ }>;
6248
6504
  /** Target selection shared by the backend and controlled previews; restoration never takes a page locale. */
6249
- declare function projectRadarBrowserSubscriptionSelection(current: Pick<RadarBrowserSubscriptionView["topicSettings"], "topics" | "locale">, command: RadarBrowserSubscriptionSave): {
6250
- topics: {
6251
- reset: boolean;
6252
- improvement: boolean;
6253
- };
6505
+ declare function projectRadarBrowserSubscriptionSelection<Topics extends RadarBrowserTopics>(current: {
6506
+ topics: Topics;
6507
+ locale: RadarWebsiteLocale | null;
6508
+ }, command: SubscriptionSelectionCommand<Topics>): {
6509
+ topics: Topics;
6254
6510
  locale: "zh-Hans" | "zh-Hant" | "en" | "ja" | "ko" | null;
6255
6511
  };
6256
6512
  declare const radarBrowserSubscriptionRes: z.ZodObject<{
@@ -6286,8 +6542,8 @@ declare const radarBrowserSubscriptionRes: z.ZodObject<{
6286
6542
  state: z.ZodEnum<{
6287
6543
  unknown: "unknown";
6288
6544
  pending: "pending";
6289
- applied: "applied";
6290
6545
  rejected: "rejected";
6546
+ applied: "applied";
6291
6547
  superseded: "superseded";
6292
6548
  not_found: "not_found";
6293
6549
  }>;
@@ -6352,6 +6608,212 @@ declare const radarBrowserSubscriptionErrorRes: z.ZodObject<{
6352
6608
  }, z.core.$strict>;
6353
6609
  /** An unsaved draft is a server-owned choice, never proof of permission or platform membership. */
6354
6610
  declare function initialRadarBrowserSubscription(initialRevision: string): RadarBrowserSubscriptionView;
6611
+ /** V1 remains immutable for websites which reject unknown response fields. */
6612
+ declare const radarBrowserTopicsV2Schema: z.ZodObject<{
6613
+ reset: z.ZodBoolean;
6614
+ improvement: z.ZodBoolean;
6615
+ clue: z.ZodDefault<z.ZodBoolean>;
6616
+ }, z.core.$strict>;
6617
+ type RadarBrowserTopicsV2 = z.infer<typeof radarBrowserTopicsV2Schema>;
6618
+ declare const radarBrowserSubscriptionSaveV2Req: z.ZodDiscriminatedUnion<[z.ZodObject<{
6619
+ action: z.ZodLiteral<"register">;
6620
+ locale: z.ZodEnum<{
6621
+ "zh-Hans": "zh-Hans";
6622
+ "zh-Hant": "zh-Hant";
6623
+ en: "en";
6624
+ ja: "ja";
6625
+ ko: "ko";
6626
+ }>;
6627
+ registration: z.ZodObject<{
6628
+ fid: z.ZodString;
6629
+ }, z.core.$strict>;
6630
+ operationId: z.ZodUUID;
6631
+ expectedRevision: z.ZodString;
6632
+ topics: z.ZodObject<{
6633
+ reset: z.ZodBoolean;
6634
+ improvement: z.ZodBoolean;
6635
+ clue: z.ZodDefault<z.ZodBoolean>;
6636
+ }, z.core.$strict>;
6637
+ }, z.core.$strict>, z.ZodObject<{
6638
+ action: z.ZodLiteral<"set_topics">;
6639
+ operationId: z.ZodUUID;
6640
+ expectedRevision: z.ZodString;
6641
+ topics: z.ZodObject<{
6642
+ reset: z.ZodBoolean;
6643
+ improvement: z.ZodBoolean;
6644
+ clue: z.ZodDefault<z.ZodBoolean>;
6645
+ }, z.core.$strict>;
6646
+ }, z.core.$strict>, z.ZodObject<{
6647
+ action: z.ZodLiteral<"set_locale">;
6648
+ locale: z.ZodEnum<{
6649
+ "zh-Hans": "zh-Hans";
6650
+ "zh-Hant": "zh-Hant";
6651
+ en: "en";
6652
+ ja: "ja";
6653
+ ko: "ko";
6654
+ }>;
6655
+ operationId: z.ZodUUID;
6656
+ expectedRevision: z.ZodString;
6657
+ }, z.core.$strict>, z.ZodObject<{
6658
+ action: z.ZodLiteral<"restore">;
6659
+ registration: z.ZodObject<{
6660
+ fid: z.ZodString;
6661
+ }, z.core.$strict>;
6662
+ operationId: z.ZodUUID;
6663
+ expectedRevision: z.ZodString;
6664
+ }, z.core.$strict>, z.ZodObject<{
6665
+ action: z.ZodLiteral<"retry">;
6666
+ operationId: z.ZodUUID;
6667
+ expectedRevision: z.ZodString;
6668
+ }, z.core.$strict>, z.ZodObject<{
6669
+ action: z.ZodLiteral<"cancel">;
6670
+ operationId: z.ZodUUID;
6671
+ expectedRevision: z.ZodString;
6672
+ }, z.core.$strict>], "action">;
6673
+ type RadarBrowserSubscriptionSaveV2 = z.infer<typeof radarBrowserSubscriptionSaveV2Req>;
6674
+ declare const radarBrowserSubscriptionViewV2Schema: z.ZodObject<{
6675
+ registrationState: z.ZodEnum<{
6676
+ ready: "ready";
6677
+ none: "none";
6678
+ invalid: "invalid";
6679
+ changing: "changing";
6680
+ }>;
6681
+ registrationKey: z.ZodNullable<z.ZodString>;
6682
+ manualRetryRequired: z.ZodBoolean;
6683
+ operation: z.ZodNullable<z.ZodObject<{
6684
+ id: z.ZodUUID;
6685
+ state: z.ZodEnum<{
6686
+ unknown: "unknown";
6687
+ pending: "pending";
6688
+ rejected: "rejected";
6689
+ applied: "applied";
6690
+ superseded: "superseded";
6691
+ not_found: "not_found";
6692
+ }>;
6693
+ error: z.ZodOptional<z.ZodObject<{
6694
+ code: z.ZodEnum<{
6695
+ invalid_request: "invalid_request";
6696
+ origin_not_allowed: "origin_not_allowed";
6697
+ rate_limited: "rate_limited";
6698
+ dependency_unavailable: "dependency_unavailable";
6699
+ internal_error: "internal_error";
6700
+ identity_unavailable: "identity_unavailable";
6701
+ revision_conflict: "revision_conflict";
6702
+ operation_conflict: "operation_conflict";
6703
+ registration_conflict: "registration_conflict";
6704
+ provider_rejected: "provider_rejected";
6705
+ provider_rate_limited: "provider_rate_limited";
6706
+ provider_unavailable: "provider_unavailable";
6707
+ provider_timeout: "provider_timeout";
6708
+ }>;
6709
+ operationId: z.ZodOptional<z.ZodUUID>;
6710
+ correlationId: z.ZodUUID;
6711
+ stage: z.ZodString;
6712
+ saveOutcome: z.ZodEnum<{
6713
+ unknown: "unknown";
6714
+ not_saved: "not_saved";
6715
+ }>;
6716
+ reasonSummary: z.ZodString;
6717
+ retryable: z.ZodBoolean;
6718
+ cause: z.ZodRecord<z.ZodString, z.ZodUnknown>;
6719
+ }, z.core.$strict>>;
6720
+ }, z.core.$strict>>;
6721
+ topicSettings: z.ZodObject<{
6722
+ state: z.ZodEnum<{
6723
+ initial: "initial";
6724
+ saved: "saved";
6725
+ }>;
6726
+ revision: z.ZodString;
6727
+ locale: z.ZodNullable<z.ZodEnum<{
6728
+ "zh-Hans": "zh-Hans";
6729
+ "zh-Hant": "zh-Hant";
6730
+ en: "en";
6731
+ ja: "ja";
6732
+ ko: "ko";
6733
+ }>>;
6734
+ topics: z.ZodObject<{
6735
+ reset: z.ZodBoolean;
6736
+ improvement: z.ZodBoolean;
6737
+ clue: z.ZodDefault<z.ZodBoolean>;
6738
+ }, z.core.$strict>;
6739
+ }, z.core.$strict>;
6740
+ }, z.core.$strict>;
6741
+ type RadarBrowserSubscriptionViewV2 = z.infer<typeof radarBrowserSubscriptionViewV2Schema>;
6742
+ declare const radarBrowserSubscriptionV2Res: z.ZodObject<{
6743
+ data: z.ZodObject<{
6744
+ registrationState: z.ZodEnum<{
6745
+ ready: "ready";
6746
+ none: "none";
6747
+ invalid: "invalid";
6748
+ changing: "changing";
6749
+ }>;
6750
+ registrationKey: z.ZodNullable<z.ZodString>;
6751
+ manualRetryRequired: z.ZodBoolean;
6752
+ operation: z.ZodNullable<z.ZodObject<{
6753
+ id: z.ZodUUID;
6754
+ state: z.ZodEnum<{
6755
+ unknown: "unknown";
6756
+ pending: "pending";
6757
+ rejected: "rejected";
6758
+ applied: "applied";
6759
+ superseded: "superseded";
6760
+ not_found: "not_found";
6761
+ }>;
6762
+ error: z.ZodOptional<z.ZodObject<{
6763
+ code: z.ZodEnum<{
6764
+ invalid_request: "invalid_request";
6765
+ origin_not_allowed: "origin_not_allowed";
6766
+ rate_limited: "rate_limited";
6767
+ dependency_unavailable: "dependency_unavailable";
6768
+ internal_error: "internal_error";
6769
+ identity_unavailable: "identity_unavailable";
6770
+ revision_conflict: "revision_conflict";
6771
+ operation_conflict: "operation_conflict";
6772
+ registration_conflict: "registration_conflict";
6773
+ provider_rejected: "provider_rejected";
6774
+ provider_rate_limited: "provider_rate_limited";
6775
+ provider_unavailable: "provider_unavailable";
6776
+ provider_timeout: "provider_timeout";
6777
+ }>;
6778
+ operationId: z.ZodOptional<z.ZodUUID>;
6779
+ correlationId: z.ZodUUID;
6780
+ stage: z.ZodString;
6781
+ saveOutcome: z.ZodEnum<{
6782
+ unknown: "unknown";
6783
+ not_saved: "not_saved";
6784
+ }>;
6785
+ reasonSummary: z.ZodString;
6786
+ retryable: z.ZodBoolean;
6787
+ cause: z.ZodRecord<z.ZodString, z.ZodUnknown>;
6788
+ }, z.core.$strict>>;
6789
+ }, z.core.$strict>>;
6790
+ topicSettings: z.ZodObject<{
6791
+ state: z.ZodEnum<{
6792
+ initial: "initial";
6793
+ saved: "saved";
6794
+ }>;
6795
+ revision: z.ZodString;
6796
+ locale: z.ZodNullable<z.ZodEnum<{
6797
+ "zh-Hans": "zh-Hans";
6798
+ "zh-Hant": "zh-Hant";
6799
+ en: "en";
6800
+ ja: "ja";
6801
+ ko: "ko";
6802
+ }>>;
6803
+ topics: z.ZodObject<{
6804
+ reset: z.ZodBoolean;
6805
+ improvement: z.ZodBoolean;
6806
+ clue: z.ZodDefault<z.ZodBoolean>;
6807
+ }, z.core.$strict>;
6808
+ }, z.core.$strict>;
6809
+ }, z.core.$strict>;
6810
+ }, z.core.$strict>;
6811
+ /** Normalizing old storage never subscribes an existing user to a new topic. */
6812
+ declare function initialRadarBrowserSubscriptionV2(initialRevision: string): RadarBrowserSubscriptionViewV2;
6813
+ /** Only these explicit RPC adapters may cross the two externally consumed versions. */
6814
+ declare function projectRadarBrowserSubscriptionV1(view: RadarBrowserSubscriptionViewV2): RadarBrowserSubscriptionView;
6815
+ /** A legacy full stop must stop the hidden topic as well; ordinary edits preserve its saved selection. */
6816
+ declare function upgradeRadarBrowserSubscriptionCommandV1(command: RadarBrowserSubscriptionSave, current: RadarBrowserTopicsV2): RadarBrowserSubscriptionSaveV2;
6355
6817
  //#endregion
6356
6818
  //#region src/improvement-column.d.ts
6357
6819
  declare const radarImprovementPageSize = 20;
@@ -7268,4 +7730,4 @@ declare const readRadarCodexModels: (response: Response) => Promise<{
7268
7730
  /** Fixed model-catalog locator for one supported website language. */
7269
7731
  declare const radarCodexModelsPath: (locale: RadarWebsiteLocale) => string;
7270
7732
  //#endregion
7271
- export { CreateRadarResetSourceErrorEnvelopeInputV2, RadarActivityFile, RadarActivityFileV2, RadarActivityFileV3, RadarActivityProgress, RadarActivityProgressV2, RadarActivityProgressV3, RadarActivityReactionId, RadarBrowserSubscriptionFailure, RadarBrowserSubscriptionRead, RadarBrowserSubscriptionSave, RadarBrowserSubscriptionView, RadarBrowserTopics, RadarCodexGuessChoice, RadarCodexGuessError, RadarCodexGuessSaveReq, RadarCodexGuessView, RadarCodexModel, RadarCodexModels, RadarCodexProgressChange, RadarCodexProgressChangeV2, RadarCodexProgressChangeV3, RadarCodexProgressChangesV1, RadarCodexProgressChangesV2, RadarCodexProgressChangesV3, RadarCodexProgressEntryV3, RadarCodexProgressEntryV5, RadarCodexProgressImprovementV5, RadarCodexProgressPostRoleV5, RadarCodexProgressPostV5, RadarCodexProgressResetEntryV5, RadarCodexProgressTitleV3, RadarCodexProgressV1, RadarCodexProgressV2, RadarCodexProgressV3, RadarCodexProgressV4, RadarCodexProgressV5, RadarCodexReleaseDirectory, RadarCodexReleaseMonth, RadarCodexReleaseNotes, RadarCodexTimePoint, RadarImprovementEntry, RadarImprovementHead, RadarImprovementPage, RadarNotificationProjection, RadarNotificationTarget, RadarNotificationTask, RadarNotificationTasks, RadarNotificationTopic, RadarResetActionDetailV1, RadarResetActionDetailV2, RadarResetActionItemV2, RadarResetActionSummaryV2, RadarResetActiveActionItemV2, RadarResetAnalysisV1, RadarResetClue, RadarResetClueSnapshot, RadarResetDetailChunkReferenceV2, RadarResetDetailChunkRequestV2, RadarResetDetailManifestV2, RadarResetDetailMultipartEncodeInputV2, RadarResetDetailMultipartParseInputV2, RadarResetDetailMultipartPartV2, RadarResetExportV1, RadarResetExportV2, RadarResetPendingActionV1, RadarResetPendingActionV2, RadarResetPositiveDecimalV2, RadarResetPrimarySourceV1, RadarResetPublicIdV2, RadarResetPublicationHomeFactsV2, RadarResetPublicationRevisionAvailableV2, RadarResetPublicationTiming, RadarResetReadActionsRequestV2, RadarResetReadActionsSuccessV2, RadarResetReadChangesRequestV2, RadarResetReadChangesSuccessV2, RadarResetReadDetailBatchRequestV2, RadarResetReadHeadRequestV2, RadarResetReadHeadSuccessV2, RadarResetSafeCauseSnapshotV2, RadarResetSafeCauseValueV2, RadarResetSha256V2, RadarResetSnapshotAvailableV1, RadarResetSourceContractErrorInputV2, RadarResetSourceContractErrorV2, RadarResetSourceErrorCodeV2, RadarResetSourceErrorEnvelopeV2, RadarResetSourceErrorV2, RadarResetSourceTranslations, RadarResetUInt64DecimalV2, RadarResetUtcTimestampV2, RadarTiboSourceStatus, RadarTitledActivityFile, RadarTitledActivityProgress, RadarWebsiteLocale, activeRadarResetClue, compareRadarNotificationTasks, compareRadarResetActionDetailsV1, compareRadarResetUtcTimestampsV1, createRadarCodexProgressCalendar, createRadarNotificationProjection, createRadarResetSourceErrorEnvelopeV2, encodeRadarActivityFile, encodeRadarActivityFileV2, encodeRadarActivityFileV3, encodeRadarResetDetailMultipartV2, encodeRadarTitledActivityFile, formatRadarResetPositiveDecimalV2, formatRadarResetUInt64DecimalV2, initialRadarBrowserSubscription, parseRadarCodexModels, parseRadarCodexProgressChangeV3, parseRadarCodexProgressChangesV3, parseRadarCodexProgressV1, parseRadarCodexProgressV2, parseRadarCodexProgressV3, parseRadarCodexProgressV4, parseRadarCodexProgressV5, parseRadarCodexReleaseDirectory, parseRadarCodexReleaseMonth, parseRadarCodexReleaseNotes, parseRadarResetActionDetailV1, parseRadarResetActionDetailV2, parseRadarResetActionSummaryV2, parseRadarResetAnalysisV1, parseRadarResetClueSnapshot, parseRadarResetDetailMultipartV2, parseRadarResetExportV1, parseRadarResetExportV2, parseRadarResetPendingActionV1, parseRadarResetPendingActionV2, parseRadarResetPositiveDecimalV2, parseRadarResetPublicationHomeFactsV2, parseRadarResetPublicationRevisionAvailableV2, parseRadarResetReadActionsRequestV2, parseRadarResetReadActionsSuccessV2, parseRadarResetReadChangesRequestV2, parseRadarResetReadChangesSuccessV2, parseRadarResetReadDetailBatchRequestV2, parseRadarResetReadHeadRequestV2, parseRadarResetReadHeadSuccessV2, parseRadarResetSnapshotAvailableV1, parseRadarResetSourceErrorEnvelopeV2, parseRadarResetUInt64DecimalV2, projectRadarBrowserSubscriptionSelection, projectRadarResetExportV1FromV2, projectRadarResetPrimarySourceV1, radarActivityEventIdSchema, radarActivityFileSchema, radarActivityFileUrl, radarActivityFileV2Schema, radarActivityFileV2Url, radarActivityFileV3Schema, radarActivityFileV3Url, radarActivityMaxBytes, radarActivityProgressSchema, radarActivityProgressV2Schema, radarActivityProgressV3Schema, radarActivityReactionCountsSchema, radarActivityReactionIdSchema, radarActivityReactionIds, radarBrowserRegistrationSchema, radarBrowserSubscriptionErrorRes, radarBrowserSubscriptionFailureSchema, radarBrowserSubscriptionOperationSchema, radarBrowserSubscriptionReadReq, radarBrowserSubscriptionRes, radarBrowserSubscriptionSaveReq, radarBrowserSubscriptionViewSchema, radarBrowserSubscriptionsPath, radarBrowserTopicsSchema, radarCodexGuessChoiceSchema, radarCodexGuessErrorSchema, radarCodexGuessSaveReqSchema, radarCodexGuessViewSchema, radarCodexModelIdSchema, radarCodexModelUrl, radarCodexModelsMaxBytes, radarCodexModelsPath, radarCodexModelsSchema, radarCodexProgressCalendar, radarCodexProgressChangeSchema, radarCodexProgressChangeV2Schema, radarCodexProgressChangeV3Schema, radarCodexProgressChangesV1Schema, radarCodexProgressChangesV2Schema, radarCodexProgressChangesV3Schema, radarCodexProgressEntrySchema, radarCodexProgressEntryV3Schema, radarCodexProgressEntryV5Schema, radarCodexProgressImprovementV5Schema, radarCodexProgressPostRoleV5Schema, radarCodexProgressPostV5Schema, radarCodexProgressPostsV5Schema, radarCodexProgressResetEntryV5Schema, radarCodexProgressScore, radarCodexProgressTitleV3Schema, radarCodexProgressV1Schema, radarCodexProgressV2MaxBytes, radarCodexProgressV2Schema, radarCodexProgressV3MaxBytes, radarCodexProgressV3Schema, radarCodexProgressV4MaxBytes, radarCodexProgressV4Schema, radarCodexProgressV5MaxBytes, radarCodexProgressV5Schema, radarCodexReleaseDirectoryMaxBytes, radarCodexReleaseDirectoryPath, radarCodexReleaseDirectorySchema, radarCodexReleaseIdentitySchema, radarCodexReleaseMonthMaxBytes, radarCodexReleaseMonthPath, radarCodexReleaseMonthSchema, radarCodexReleaseNotesMaxBytes, radarCodexReleaseNotesPath, radarCodexReleaseNotesSchema, radarCodexReleaseSectionsSchema, radarCodexReleaseUrl, radarCodexTimePointSchema, radarImprovementColumnPath, radarImprovementEligibilityReq, radarImprovementEligibilityRes, radarImprovementEntrySchema, radarImprovementErrorRes, radarImprovementHeadReq, radarImprovementHeadRes, radarImprovementPageMaxBytes, radarImprovementPageReq, radarImprovementPageRes, radarImprovementPageSize, radarNotificationProjectionSchema, radarNotificationTargetSchema, radarNotificationTaskPageSize, radarNotificationTaskSchema, radarNotificationTasksPath, radarNotificationTasksReq, radarNotificationTasksRes, radarNotificationTopicSchema, radarNotificationTopicsSchema, radarResetActionDetailV1Schema, radarResetActionDetailV2Schema, radarResetActionItemV2Schema, radarResetActionPageMaxBytesV2, radarResetActionPageMaxItemsV2, radarResetActionSummaryV2Schema, radarResetActiveActionItemV2Schema, radarResetAnalysisV1Schema, radarResetAnalyzerContractVersionV1, radarResetAudienceValues, radarResetChangeCoverageV2Schema, radarResetChangePageMaxBytesV2, radarResetChangePageMaxItemsV2, radarResetClueLifetimeMs, radarResetClueMaxBytes, radarResetCluePath, radarResetClueSchema, radarResetClueSnapshotSchema, radarResetContractVersionV1, radarResetContractVersionV2, radarResetDetailBatchMaxBytesV2, radarResetDetailBatchMaxChunksV2, radarResetDetailChunkReferenceV2Schema, radarResetDetailChunkRequestV2Schema, radarResetDetailManifestV2Schema, radarResetEffectValues, radarResetExportV1Schema, radarResetExportV2Schema, radarResetNoticeKindValues, radarResetPendingActionV1Schema, radarResetPendingActionV2Schema, radarResetPlanValues, radarResetPositiveDecimalV2Schema, radarResetProductValues, radarResetPublicDataLimits, radarResetPublicIdV2Schema, radarResetPublicationHomeFactsV2Schema, radarResetPublicationRevisionAvailableV2Schema, radarResetPublicationTimingSchema, radarResetReadActionsDataV2Schema, radarResetReadActionsRequestV2Schema, radarResetReadActionsSuccessV2Schema, radarResetReadChangesDataV2Schema, radarResetReadChangesRequestV2Schema, radarResetReadChangesSuccessV2Schema, radarResetReadDetailBatchRequestV2Schema, radarResetReadHeadDataV2Schema, radarResetReadHeadRequestV2Schema, radarResetReadHeadSuccessV2Schema, radarResetReasonBasisValues, radarResetReasonCategoryValues, radarResetSafeCauseSnapshotV2Schema, radarResetSeriesValues, radarResetSha256V2Schema, radarResetSnapshotAvailableV1Schema, radarResetSourceChangeV2Schema, radarResetSourceErrorCodeValuesV2, radarResetSourceErrorEnvelopeV2Schema, radarResetSourceErrorHttpStatusV2, radarResetSourceErrorIsRetryableV2, radarResetSourceErrorV2Schema, radarResetSourceMaxRpcCallsV2, radarResetSourceTranslationsSchema, radarResetUInt64DecimalV2Schema, radarResetUInt64DecimalV2ToBigInt, radarResetUtcTimestampV2Schema, radarResetWithdrawnActionItemV2Schema, radarTiboSourceStatusMaxBytes, radarTiboSourceStatusPath, radarTiboSourceStatusSchema, radarTitledActivityFileSchema, radarTitledActivityProgressSchema, radarWebsiteLocalePrefixes, radarWebsiteLocales, radarWebsiteOrigin, radarWebsitePagePaths, radarWebsitePageUrl, readRadarActivityFile, readRadarActivityFileV2, readRadarActivityFileV3, readRadarCodexModels, readRadarCodexReleaseDirectory, readRadarCodexReleaseMonth, readRadarCodexReleaseNotes, readRadarResetClueSnapshot, readRadarTiboSourceStatus, readRadarTitledActivityFile, redactRadarBrowserRegistrationReferences, toSafeCauseSnapshotV2 };
7733
+ export { CreateRadarResetSourceErrorEnvelopeInputV2, RadarActivityFile, RadarActivityFileV2, RadarActivityFileV3, RadarActivityProgress, RadarActivityProgressV2, RadarActivityProgressV3, RadarActivityReactionId, RadarBrowserNotificationProjection, RadarBrowserSubscriptionFailure, RadarBrowserSubscriptionRead, RadarBrowserSubscriptionSave, RadarBrowserSubscriptionSaveV2, RadarBrowserSubscriptionView, RadarBrowserSubscriptionViewV2, RadarBrowserTopics, RadarBrowserTopicsV2, RadarCodexGuessChoice, RadarCodexGuessError, RadarCodexGuessSaveReq, RadarCodexGuessView, RadarCodexModel, RadarCodexModels, RadarCodexProgressChange, RadarCodexProgressChangeV2, RadarCodexProgressChangeV3, RadarCodexProgressChangesV1, RadarCodexProgressChangesV2, RadarCodexProgressChangesV3, RadarCodexProgressEntryV3, RadarCodexProgressEntryV5, RadarCodexProgressImprovementV5, RadarCodexProgressPostRoleV5, RadarCodexProgressPostV5, RadarCodexProgressResetEntryV5, RadarCodexProgressTitleV3, RadarCodexProgressV1, RadarCodexProgressV2, RadarCodexProgressV3, RadarCodexProgressV4, RadarCodexProgressV5, RadarCodexReleaseDirectory, RadarCodexReleaseMonth, RadarCodexReleaseNotes, RadarCodexTimePoint, RadarImprovementEntry, RadarImprovementHead, RadarImprovementPage, RadarNotificationProjection, RadarNotificationTarget, RadarNotificationTask, RadarNotificationTasks, RadarNotificationTopic, RadarResetActionDetailV1, RadarResetActionDetailV2, RadarResetActionItemV2, RadarResetActionSummaryV2, RadarResetActiveActionItemV2, RadarResetAnalysisV1, RadarResetClue, RadarResetClueSnapshot, RadarResetDetailChunkReferenceV2, RadarResetDetailChunkRequestV2, RadarResetDetailManifestV2, RadarResetDetailMultipartEncodeInputV2, RadarResetDetailMultipartParseInputV2, RadarResetDetailMultipartPartV2, RadarResetExportV1, RadarResetExportV2, RadarResetManagement, RadarResetPendingActionV1, RadarResetPendingActionV2, RadarResetPositiveDecimalV2, RadarResetPrimarySourceV1, RadarResetPublicIdV2, RadarResetPublicationHomeFactsV2, RadarResetPublicationRevisionAvailableV2, RadarResetPublicationTiming, RadarResetReadActionsRequestV2, RadarResetReadActionsSuccessV2, RadarResetReadChangesRequestV2, RadarResetReadChangesSuccessV2, RadarResetReadDetailBatchRequestV2, RadarResetReadHeadRequestV2, RadarResetReadHeadSuccessV2, RadarResetSafeCauseSnapshotV2, RadarResetSafeCauseValueV2, RadarResetSha256V2, RadarResetSnapshotAvailableV1, RadarResetSourceContractErrorInputV2, RadarResetSourceContractErrorV2, RadarResetSourceErrorCodeV2, RadarResetSourceErrorEnvelopeV2, RadarResetSourceErrorV2, RadarResetSourceTranslations, RadarResetUInt64DecimalV2, RadarResetUtcTimestampV2, RadarTiboSourceStatus, RadarTitledActivityFile, RadarTitledActivityProgress, RadarWebsiteLocale, activeRadarResetClue, compareRadarNotificationTasks, compareRadarResetActionDetailsV1, compareRadarResetUtcTimestampsV1, createRadarBrowserNotificationProjection, createRadarCodexProgressCalendar, createRadarNotificationProjection, createRadarResetSourceErrorEnvelopeV2, encodeRadarActivityFile, encodeRadarActivityFileV2, encodeRadarActivityFileV3, encodeRadarResetDetailMultipartV2, encodeRadarTitledActivityFile, formatRadarResetPositiveDecimalV2, formatRadarResetUInt64DecimalV2, initialRadarBrowserSubscription, initialRadarBrowserSubscriptionV2, parseRadarCodexModels, parseRadarCodexProgressChangeV3, parseRadarCodexProgressChangesV3, parseRadarCodexProgressV1, parseRadarCodexProgressV2, parseRadarCodexProgressV3, parseRadarCodexProgressV4, parseRadarCodexProgressV5, parseRadarCodexReleaseDirectory, parseRadarCodexReleaseMonth, parseRadarCodexReleaseNotes, parseRadarResetActionDetailV1, parseRadarResetActionDetailV2, parseRadarResetActionSummaryV2, parseRadarResetAnalysisV1, parseRadarResetClueSnapshot, parseRadarResetDetailMultipartV2, parseRadarResetExportV1, parseRadarResetExportV2, parseRadarResetPendingActionV1, parseRadarResetPendingActionV2, parseRadarResetPositiveDecimalV2, parseRadarResetPublicationHomeFactsV2, parseRadarResetPublicationRevisionAvailableV2, parseRadarResetReadActionsRequestV2, parseRadarResetReadActionsSuccessV2, parseRadarResetReadChangesRequestV2, parseRadarResetReadChangesSuccessV2, parseRadarResetReadDetailBatchRequestV2, parseRadarResetReadHeadRequestV2, parseRadarResetReadHeadSuccessV2, parseRadarResetSnapshotAvailableV1, parseRadarResetSourceErrorEnvelopeV2, parseRadarResetUInt64DecimalV2, projectRadarBrowserSubscriptionSelection, projectRadarBrowserSubscriptionV1, projectRadarResetExportV1FromV2, projectRadarResetPrimarySourceV1, radarActivityEventIdSchema, radarActivityFileSchema, radarActivityFileUrl, radarActivityFileV2Schema, radarActivityFileV2Url, radarActivityFileV3Schema, radarActivityFileV3Url, radarActivityMaxBytes, radarActivityProgressSchema, radarActivityProgressV2Schema, radarActivityProgressV3Schema, radarActivityReactionCountsSchema, radarActivityReactionIdSchema, radarActivityReactionIds, radarBrowserNotificationProjectionSchema, radarBrowserNotificationTopicSchema, radarBrowserRegistrationSchema, radarBrowserSubscriptionErrorRes, radarBrowserSubscriptionFailureSchema, radarBrowserSubscriptionOperationSchema, radarBrowserSubscriptionReadReq, radarBrowserSubscriptionRes, radarBrowserSubscriptionSaveReq, radarBrowserSubscriptionSaveV2Req, radarBrowserSubscriptionV2Res, radarBrowserSubscriptionViewSchema, radarBrowserSubscriptionViewV2Schema, radarBrowserSubscriptionsPath, radarBrowserTopicsSchema, radarBrowserTopicsV2Schema, radarCodexGuessChoiceSchema, radarCodexGuessErrorSchema, radarCodexGuessSaveReqSchema, radarCodexGuessViewSchema, radarCodexModelIdSchema, radarCodexModelUrl, radarCodexModelsMaxBytes, radarCodexModelsPath, radarCodexModelsSchema, radarCodexProgressCalendar, radarCodexProgressChangeSchema, radarCodexProgressChangeV2Schema, radarCodexProgressChangeV3Schema, radarCodexProgressChangesV1Schema, radarCodexProgressChangesV2Schema, radarCodexProgressChangesV3Schema, radarCodexProgressEntrySchema, radarCodexProgressEntryV3Schema, radarCodexProgressEntryV5Schema, radarCodexProgressImprovementV5Schema, radarCodexProgressPostRoleV5Schema, radarCodexProgressPostV5Schema, radarCodexProgressPostsV5Schema, radarCodexProgressResetEntryV5Schema, radarCodexProgressScore, radarCodexProgressTitleV3Schema, radarCodexProgressV1Schema, radarCodexProgressV2MaxBytes, radarCodexProgressV2Schema, radarCodexProgressV3MaxBytes, radarCodexProgressV3Schema, radarCodexProgressV4MaxBytes, radarCodexProgressV4Schema, radarCodexProgressV5MaxBytes, radarCodexProgressV5Schema, radarCodexReleaseDirectoryMaxBytes, radarCodexReleaseDirectoryPath, radarCodexReleaseDirectorySchema, radarCodexReleaseIdentitySchema, radarCodexReleaseMonthMaxBytes, radarCodexReleaseMonthPath, radarCodexReleaseMonthSchema, radarCodexReleaseNotesMaxBytes, radarCodexReleaseNotesPath, radarCodexReleaseNotesSchema, radarCodexReleaseSectionsSchema, radarCodexReleaseUrl, radarCodexTimePointSchema, radarImprovementColumnPath, radarImprovementEligibilityReq, radarImprovementEligibilityRes, radarImprovementEntrySchema, radarImprovementErrorRes, radarImprovementHeadReq, radarImprovementHeadRes, radarImprovementPageMaxBytes, radarImprovementPageReq, radarImprovementPageRes, radarImprovementPageSize, radarNotificationProjectionSchema, radarNotificationTargetSchema, radarNotificationTaskPageSize, radarNotificationTaskSchema, radarNotificationTasksPath, radarNotificationTasksReq, radarNotificationTasksRes, radarNotificationTopicSchema, radarNotificationTopicsSchema, radarResetActionDetailV1Schema, radarResetActionDetailV2Schema, radarResetActionItemV2Schema, radarResetActionPageMaxBytesV2, radarResetActionPageMaxItemsV2, radarResetActionSummaryV2Schema, radarResetActiveActionItemV2Schema, radarResetAnalysisV1Schema, radarResetAnalyzerContractVersionV1, radarResetAudienceValues, radarResetChangeCoverageV2Schema, radarResetChangePageMaxBytesV2, radarResetChangePageMaxItemsV2, radarResetClueLifetimeMs, radarResetClueMaxBytes, radarResetCluePath, radarResetClueSchema, radarResetClueSnapshotSchema, radarResetContractVersionV1, radarResetContractVersionV2, radarResetDetailBatchMaxBytesV2, radarResetDetailBatchMaxChunksV2, radarResetDetailChunkReferenceV2Schema, radarResetDetailChunkRequestV2Schema, radarResetDetailManifestV2Schema, radarResetEffectValues, radarResetExportV1Schema, radarResetExportV2Schema, radarResetManagementActionSchema, radarResetManagementOperationSchema, radarResetManagementResSchema, radarResetManualApplyReqSchema, radarResetManualCopySchema, radarResetManualDraftSchema, radarResetManualDraftSeedSchema, radarResetManualPreviewReqSchema, radarResetManualPreviewResSchema, radarResetManualResultResSchema, radarResetNoticeKindValues, radarResetPendingActionV1Schema, radarResetPendingActionV2Schema, radarResetPlanValues, radarResetPositiveDecimalV2Schema, radarResetProductValues, radarResetPublicDataLimits, radarResetPublicIdV2Schema, radarResetPublicationHomeFactsV2Schema, radarResetPublicationRevisionAvailableV2Schema, radarResetPublicationTimingSchema, radarResetReadActionsDataV2Schema, radarResetReadActionsRequestV2Schema, radarResetReadActionsSuccessV2Schema, radarResetReadChangesDataV2Schema, radarResetReadChangesRequestV2Schema, radarResetReadChangesSuccessV2Schema, radarResetReadDetailBatchRequestV2Schema, radarResetReadHeadDataV2Schema, radarResetReadHeadRequestV2Schema, radarResetReadHeadSuccessV2Schema, radarResetReasonBasisValues, radarResetReasonCategoryValues, radarResetSafeCauseSnapshotV2Schema, radarResetSeriesValues, radarResetSha256V2Schema, radarResetSnapshotAvailableV1Schema, radarResetSourceChangeV2Schema, radarResetSourceErrorCodeValuesV2, radarResetSourceErrorEnvelopeV2Schema, radarResetSourceErrorHttpStatusV2, radarResetSourceErrorIsRetryableV2, radarResetSourceErrorV2Schema, radarResetSourceMaxRpcCallsV2, radarResetSourceTranslationsSchema, radarResetUInt64DecimalV2Schema, radarResetUInt64DecimalV2ToBigInt, radarResetUtcTimestampV2Schema, radarResetWithdrawnActionItemV2Schema, radarTiboSourceStatusMaxBytes, radarTiboSourceStatusPath, radarTiboSourceStatusSchema, radarTitledActivityFileSchema, radarTitledActivityProgressSchema, radarWebsiteLocalePrefixes, radarWebsiteLocales, radarWebsiteOrigin, radarWebsitePagePaths, radarWebsitePageUrl, readRadarActivityFile, readRadarActivityFileV2, readRadarActivityFileV3, readRadarCodexModels, readRadarCodexReleaseDirectory, readRadarCodexReleaseMonth, readRadarCodexReleaseNotes, readRadarResetClueSnapshot, readRadarTiboSourceStatus, readRadarTitledActivityFile, redactRadarBrowserRegistrationReferences, toSafeCauseSnapshotV2, upgradeRadarBrowserSubscriptionCommandV1 };
package/dist/index.js CHANGED
@@ -4,4 +4,4 @@ X-Radar-Reset-Action-Id-B64: ${ln(k.encode(e.resetActionId))}\r\nX-Radar-Detail-
4
4
  `)){let t=e.indexOf(`:`);if(t<=0||e.slice(t+1,t+2)!==` `)return j(`source_chunk_mismatch`,!1);let i=e.slice(0,t).toLowerCase(),a=e.slice(t+2);if(!r.has(i)||n.has(i)||a.length===0)return j(`source_chunk_mismatch`,!1);n.set(i,a)}return n.size===r.size?n:j(`source_chunk_mismatch`,!1)}function gn(e,t,n){for(let r=n;r<=e.byteLength-t.byteLength;r+=1)if(A(e,t,r))return r;return-1}async function _n(e,t){let n=Mt.parse({contractVersion:2,revision:t.revision,chunks:t.chunks});if(e.status!==200)return j(`source_chunk_mismatch`,!1);let r=M(e,`Content-Type`),i=/^multipart\/mixed; boundary=(radar-reset-v2-[0-9a-f]{48})$/u.exec(r);if(i===null)return j(`source_chunk_mismatch`,!1);let a=i[1];if(M(e,`Cache-Control`)!==`no-store`)return j(`source_chunk_mismatch`,!1);E.parse(M(e,`X-Radar-Correlation-Id`));let o=M(e,`X-Radar-Part-Count`);if(!/^[1-9][0-9]*$/u.test(o)||Number(o)>32||Number(o)!==n.chunks.length)return j(`source_chunk_mismatch`,!1);let s;try{s=on.decode(un(M(e,`X-Radar-Revision-B64`)))}catch(e){return j(`source_chunk_mismatch`,!1,e)}if(s!==n.revision)return j(`source_chunk_mismatch`,!1);let c=await mn(e),l=k.encode(`--${a}\r\n`),ee=k.encode(`--${a}--\r\n`),te=k.encode(`\r
5
5
  \r
6
6
  `),ne=k.encode(`\r
7
- `),u=[],d=0;for(let e of n.chunks){if(!A(c,l,d))return j(`source_stream_incomplete`,!0);d+=l.byteLength;let t=gn(c,te,d);if(t<0)return j(`source_stream_incomplete`,!0);let n=hn(c.slice(d,t));if(d=t+te.byteLength,n.get(`content-type`)!==`application/octet-stream`)return j(`source_chunk_mismatch`,!1);let r;try{r=on.decode(un(n.get(`x-radar-reset-action-id-b64`)))}catch(e){return j(`source_chunk_mismatch`,!1,e)}if(r!==e.resetActionId||n.get(`x-radar-detail-ordinal`)!==String(e.ordinal)||n.get(`x-radar-byte-size`)!==String(e.byteSize)||n.get(`x-radar-sha-256`)!==e.sha256)return j(`source_chunk_mismatch`,!1);if(d+e.byteSize+ne.byteLength>c.byteLength)return j(`source_stream_incomplete`,!0);let i=c.slice(d,d+e.byteSize);if(d+=e.byteSize,!A(c,ne,d)||(d+=ne.byteLength,await dn(i)!==e.sha256))return j(`source_chunk_mismatch`,!1);u.push({...e,bytes:i})}return!A(c,ee,d)||d+ee.byteLength!==c.byteLength?j(`source_stream_incomplete`,!0):u}const vn=/authorization|cookie|token|secret|password|api[-_]?key/iu;function yn(e,t){let n=[...e].slice(0,1024),r=``;for(let e of n){let n=k.encode(e).byteLength;if(n>t.remaining)break;t.remaining-=n,r+=e}return r}function bn(e,t,n,r){if(e===null||typeof e==`boolean`)return e;if(typeof e==`string`)return yn(e,n);if(typeof e==`number`)return Number.isFinite(e)?e:String(e);if(typeof e==`bigint`||typeof e==`symbol`)return yn(String(e),n);if(e===void 0)return`undefined`;if(typeof e==`function`)return`[Function ${e.name||`anonymous`}]`;if(r.has(e))return`[Circular]`;if(t>=4)return`[DepthLimit]`;if(r.add(e),Array.isArray(e))return e.slice(0,16).map(e=>bn(e,t+1,n,r));let i={},a=e instanceof Error?[[`type`,e.constructor.name],[`name`,e.name],[`message`,e.message],...e.cause===void 0?[]:[[`cause`,e.cause]],...Object.entries(e)]:Object.entries(e);for(let[e,o]of a.slice(0,16)){let a=yn(String(e),n);if(!(a.length===0||Object.hasOwn(i,a))&&(n.remaining-=Math.min(n.remaining,8),i[a]=vn.test(a)?`[REDACTED]`:bn(o,t+1,n,r),n.remaining<=0))break}return i}function xn(e){let t=bn(e,0,{remaining:7e3},new Set),n=typeof t==`object`&&t&&!Array.isArray(t)?t:{type:e===null?`null`:typeof e,message:t};return Gt.parse(n),n}function Sn(e){return e===`source_temporarily_unavailable`||e===`source_rpc_transport_failure`||e===`source_stream_incomplete`}function Cn(e){switch(e){case`source_invalid_request`:return 400;case`source_revision_unknown`:return 404;case`source_cursor_invalid`:case`source_chunk_mismatch`:return 409;case`source_response_over_capacity`:return 413;case`source_temporarily_unavailable`:case`source_rpc_transport_failure`:case`source_stream_incomplete`:return 503;case`source_integrity_conflict`:case`source_revision_identity_conflict`:case`source_sequence_exhausted`:return 500}}function wn(e){let t={contractVersion:2,ok:!1,error:{code:e.code,operation:e.operation,stage:e.stage,...e.revision===void 0?{}:{revision:e.revision},retryable:Sn(e.code),correlationId:e.correlationId,cause:xn(e.cause)}};return qt.parse(t)}const Tn=e.strictObject({en:e.string().trim().min(1),zh:e.string().trim().min(1)}),En=e.iso.date(),N=e.strictObject({category:e.enum([`improvement`,`direct_reset`,`reset_card`]),deliveryState:e.enum([`preview`,`landed`]),description:Tn,dateBasis:e.enum([`occurrence`,`announcement`,`unresolved`]),sourceUrls:e.array(e.url({protocol:/^https?$/})).min(1)}),Dn=e.discriminatedUnion(`state`,[e.strictObject({state:e.literal(`ready`),text:Tn}),e.strictObject({state:e.enum([`pending`,`failed`,`not_applicable`]),text:e.null()})]),P=e.strictObject({contractVersion:e.literal(1),generatedAt:e.iso.datetime(),timeZone:e.string().refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}},`Invalid source time zone`),startDate:En,endDate:En,processing:e.strictObject({hasPending:e.boolean(),hasFailures:e.boolean()}),days:e.array(e.strictObject({date:En,dayNumber:e.number().int().min(1).max(28),outcome:e.enum([`unconfirmed`,`improvement`,`reset`,`both`]),entries:e.array(N),summary:Dn})).length(28),undatedEntries:e.array(N)}).superRefine((e,t)=>{let n=Date.parse(`${e.startDate}T00:00:00Z`);for(let[r,i]of e.days.entries()){let e=new Date(n+r*864e5).toISOString().slice(0,10);(i.date!==e||i.dayNumber!==r+1)&&t.addIssue({code:`custom`,path:[`days`,r],message:`Days must be contiguous and numbered in order`}),i.entries.some(e=>e.dateBasis===`unresolved`)&&t.addIssue({code:`custom`,path:[`days`,r,`entries`],message:`Unresolved dates belong in undatedEntries`});let a=i.entries.filter(e=>e.deliveryState===`landed`),o=a.some(e=>e.category===`improvement`),s=a.some(e=>e.category!==`improvement`),c=o?s?`both`:`improvement`:s?`reset`:`unconfirmed`;(i.outcome!==c||a.length===0!=(i.summary.state===`not_applicable`))&&t.addIssue({code:`custom`,path:[`days`,r],message:`Outcome and summary must reflect landed evidence`})}e.days.at(-1)?.date!==e.endDate&&t.addIssue({code:`custom`,path:[`endDate`],message:`End must match the last activity day`}),e.undatedEntries.some(e=>e.dateBasis!==`unresolved`)&&t.addIssue({code:`custom`,path:[`undatedEntries`],message:`Undated entries must have unresolved dates`})});function On(e){return P.parse(e)}function kn(e){let t=e.filter(e=>e.deliveryState===`landed`),n=t.some(e=>e.category===`improvement`),r=t.some(e=>e.category!==`improvement`);return n?r?`both`:`improvement`:r?`reset`:`unconfirmed`}const An=524288,F=P.shape,jn=F.days.element,Mn=N.extend({date:F.startDate.nullable()}).superRefine((e,t)=>{e.date===null!=(e.dateBasis===`unresolved`)&&t.addIssue({code:`custom`,path:[`date`],message:`Date must agree with its evidence basis`})}),Nn=e.strictObject({state:e.enum([`unconfirmed`,`ongoing`,`ended`]),sourceUrls:e.array(N.shape.sourceUrls.element)}).superRefine((e,t)=>{e.state!==`unconfirmed`&&e.sourceUrls.length===0&&t.addIssue({code:`custom`,path:[`sourceUrls`],message:`Confirmed lifecycle states require source evidence`})}),Pn=jn.omit({date:!0,entries:!0}).extend({entries:e.array(Mn),lifecycle:Nn}),I=e.strictObject({contractVersion:e.literal(2),generatedAt:F.generatedAt,timeZone:F.timeZone,processing:F.processing,days:e.array(Pn).length(28),unassignedEntries:e.array(Mn)}).superRefine((e,t)=>{for(let[n,r]of e.days.entries()){r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Official days must be numbered in order`});let e=r.entries.filter(e=>e.deliveryState===`landed`),i=kn(r.entries);(r.outcome!==i||e.length===0!=(r.summary.state===`not_applicable`))&&t.addIssue({code:`custom`,path:[`days`,n],message:`Outcome and summary must reflect landed evidence`})}});function Fn(e){return I.parse(e)}const In=An,L=e.strictObject({en:e.string().trim().min(1),zh:e.string().trim().min(1)}),Ln=N.extend({title:L}),Rn=I.shape,zn=Rn.days.element,Bn=zn.shape.entries.element.safeExtend({title:L}),Vn=zn.extend({title:L.nullable(),entries:e.array(Bn)}).superRefine((e,t)=>{e.title!==null!=(e.summary.state===`ready`)&&t.addIssue({code:`custom`,path:[`title`],message:`A daily title is available exactly when its summary is ready`})}),R=e.strictObject({...Rn,contractVersion:e.literal(3),days:e.array(Vn),unassignedEntries:e.array(Bn)}).superRefine((e,t)=>{let n=I.safeParse({contractVersion:2,generatedAt:e.generatedAt,timeZone:e.timeZone,processing:e.processing,days:e.days.map(({title:e,...t})=>({...t,entries:t.entries.map(({title:e,...t})=>t)})),unassignedEntries:e.unassignedEntries.map(({title:e,...t})=>t)});if(!n.success)for(let e of n.error.issues)t.addIssue({...e})});function Hn(e){return{improvementDays:e.days.filter(e=>e.outcome===`improvement`||e.outcome===`both`).length,resetDays:e.days.filter(e=>e.outcome===`reset`||e.outcome===`both`).length}}function Un(e){return R.parse(e)}const Wn=In,Gn=I.shape,Kn=R.shape.unassignedEntries,qn=Gn.days.element.omit({summary:!0}).extend({entries:Kn}),z=e.strictObject({...Gn,contractVersion:e.literal(4),days:e.array(qn).length(28),unassignedEntries:Kn}).superRefine((e,t)=>{for(let[n,r]of e.days.entries())r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Official days must be numbered in order`}),r.outcome!==kn(r.entries)&&t.addIssue({code:`custom`,path:[`days`,n],message:`Outcome must reflect landed evidence`})});function Jn(e){return z.parse(e)}function Yn(e,t){let n=new Set;for(let r of e)n.has(r.eventId)&&t.addIssue({code:`custom`,message:`Duplicate activity eventId`}),n.add(r.eventId)}function Xn(e,t,n){let r=n.reduce((t,n)=>t+e.reactionCounts[n],0);(!Number.isSafeInteger(r)||r!==e.reactionTotal)&&t.addIssue({code:`custom`,path:[`reactionTotal`],message:`Total must equal all reaction counts`})}async function Zn(e,t,n){if(e.status!==200){let t={status:e.status,statusText:e.statusText};try{await e.body?.cancel()}catch(e){throw Error(`activity_file_http_error`,{cause:{...t,cancellationCause:e}})}throw Error(`activity_file_http_error`,{cause:t})}if(e.body===null)throw Error(`activity_file_body_missing`);let r=e.body.getReader(),i=[],a=0;try{for(;;){let e=await r.read();if(e.done)break;if(a+=e.value.byteLength,a>n)throw Error(`activity_file_too_large`,{cause:{maxBytes:n,observedBytes:a}});i.push(e.value)}let e=new Uint8Array(a),o=0;for(let t of i)e.set(t,o),o+=t.byteLength;return t.parse(JSON.parse(new TextDecoder(`utf-8`,{fatal:!0}).decode(e)))}catch(e){try{await r.cancel()}catch{}throw Error(`activity_file_read_failed`,{cause:e})}finally{r.releaseLock()}}function Qn(e,t,n){let r=new TextEncoder().encode(JSON.stringify(t.parse(e)));if(r.byteLength>n)throw Error(`activity_file_too_large`,{cause:{byteLength:r.byteLength}});return r}const B=[`👍`,`😂`,`🤡`,`💀`,`😭`,`🔥`,`🎉`,`👀`,`🙏`,`🫠`],$n=e.enum(B),V=e.string().min(1).max(128),H=524288,er=`https://data.radarultra.com/activity/v1/latest.json`,tr=`https://data.radarultra.com/activity/v2/latest.json`,nr=N.extend({eventId:V}),rr=P.safeExtend({days:e.array(P.shape.days.element.extend({entries:e.array(nr)})).length(28),undatedEntries:e.array(nr)});function ir(e,t){Yn([...e.days.flatMap(e=>e.entries),...e.undatedEntries],t)}const ar=rr.superRefine(ir),or=e.record($n,e.number().int().nonnegative()),sr=e.strictObject({reactionCounts:or,reactionTotal:e.number().int().nonnegative()});function cr(e,t){Xn(e,t,B)}const lr=nr.extend(sr.shape).superRefine(cr),ur=rr.safeExtend({days:e.array(rr.shape.days.element.extend({entries:e.array(lr)})).length(28),undatedEntries:e.array(lr)}).superRefine(ir),U=e.strictObject({publishedAt:e.iso.datetime(),reactionIds:e.array($n).length(B.length).refine(e=>new Set(e).size===B.length,`Every reaction must occur exactly once`),progress:ur}),dr=R.shape,fr=dr.unassignedEntries.element.safeExtend({eventId:V}),pr=e.strictObject({...dr,days:e.array(dr.days.element.safeExtend({entries:e.array(fr)})).length(28),unassignedEntries:e.array(fr)}),mr=pr.superRefine((e,t)=>{let n=({eventId:e,...t})=>t,r=R.safeParse({...e,days:e.days.map(e=>({...e,entries:e.entries.map(n)})),unassignedEntries:e.unassignedEntries.map(n)});if(!r.success)for(let e of r.error.issues)t.addIssue({...e});Yn([...e.days.flatMap(e=>e.entries),...e.unassignedEntries],t)}),hr=fr.safeExtend(sr.shape).superRefine(cr),gr=pr.safeExtend({days:e.array(dr.days.element.safeExtend({entries:e.array(hr)})).length(28),unassignedEntries:e.array(hr)}).superRefine((e,t)=>{let n=({reactionCounts:e,reactionTotal:t,...n})=>n,r=mr.safeParse({...e,days:e.days.map(e=>({...e,entries:e.entries.map(n)})),unassignedEntries:e.unassignedEntries.map(n)});if(!r.success)for(let e of r.error.issues)t.addIssue({...e})}),_r=U.extend({progress:gr}),vr=z.shape,yr=vr.unassignedEntries.element.safeExtend({eventId:V}),br=z.safeExtend({days:e.array(vr.days.element.safeExtend({entries:e.array(yr)})).length(28),unassignedEntries:e.array(yr)}).superRefine((e,t)=>{Yn([...e.days.flatMap(e=>e.entries),...e.unassignedEntries],t)}),xr=yr.safeExtend(sr.shape).superRefine(cr),Sr=br.safeExtend({days:e.array(vr.days.element.safeExtend({entries:e.array(xr)})).length(28),unassignedEntries:e.array(xr)}),Cr=U.extend({progress:Sr});async function wr(e){return Zn(e,U,H)}async function Tr(e){return Zn(e,_r,H)}async function Er(e){return Zn(e,Cr,H)}function Dr(e){return Qn(e,U,H)}function Or(e){return Qn(e,_r,H)}function kr(e){return Qn(e,Cr,H)}const Ar=e.strictObject({changeId:e.string().min(1).max(128),eventId:e.string().min(1).max(128),revision:e.int().positive(),kind:e.enum([`created`,`updated`,`withdrawn`]),date:e.iso.date().nullable(),entry:N,receivedAt:e.iso.datetime().nullable(),acceptedAt:e.iso.datetime()}),jr=e.strictObject({contractVersion:e.literal(1),changes:e.array(Ar),nextCursor:e.string().min(1),hasMore:e.boolean()}),Mr=Ar.extend({dayNumber:P.shape.days.element.shape.dayNumber.nullable()}),Nr=jr.extend({contractVersion:e.literal(2),changes:e.array(Mr)}),Pr=e.int().min(0).max(2**53-1),Fr=e.int().min(1).max(28),Ir=e.enum([`yes`,`no`]).nullable(),Lr=e.strictObject({choice:Ir}),Rr=e.strictObject({yes:Pr,no:Pr,total:Pr}).superRefine((e,t)=>{(!Number.isSafeInteger(e.yes+e.no)||e.total!==e.yes+e.no)&&t.addIssue({code:`custom`,path:[`total`],message:`Total must equal the effective choices.`})}),zr=e.strictObject({dayNumber:Fr,state:e.enum([`unopened`,`open`,`closed`]),choice:Ir,outcome:e.enum([`unconfirmed`,`yes`,`no`]),personalResult:e.enum([`none`,`waiting`,`correct`,`incorrect`]),corrected:e.boolean(),counts:Rr}).superRefine((e,t)=>{let n=e.choice===null?`none`:e.outcome===`unconfirmed`?`waiting`:e.choice===e.outcome?`correct`:`incorrect`;e.personalResult!==n&&t.addIssue({code:`custom`,path:[`personalResult`],message:`Personal result must match the confirmed outcome and choice.`}),e.state!==`closed`&&e.outcome!==`unconfirmed`&&t.addIssue({code:`custom`,path:[`outcome`],message:`An open or unopened day cannot have a confirmed result.`}),e.state===`unopened`&&(e.choice!==null||e.counts.total!==0)&&t.addIssue({code:`custom`,path:[`state`],message:`An unopened day cannot have choices.`})}),Br=e.strictObject({revision:Pr,openDayNumber:Fr.nullable(),days:e.array(zr).length(28)}).superRefine((e,t)=>{for(let[n,r]of e.days.entries()){r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Every official day must occur once, in order.`});let i=e.openDayNumber===null||r.dayNumber<e.openDayNumber?`closed`:r.dayNumber===e.openDayNumber?`open`:`unopened`;r.state!==i&&t.addIssue({code:`custom`,path:[`days`,n,`state`],message:`Only the next official day may be open.`})}}),Vr=e.strictObject({error:e.strictObject({code:e.enum([`invalid_request`,`payload_too_large`,`unsupported_media_type`,`origin_not_allowed`,`rate_limited`,`dependency_unavailable`,`internal_error`,`day_closed`,`identity_unavailable`]),message:e.string().min(1).max(2048),requestId:e.string().min(1).max(128),operation:e.enum([`get_guesses`,`set_guess`]),stage:e.string().min(1).max(128),cause:e.record(e.string(),e.unknown()),saveOutcome:e.enum([`not_saved`,`unknown`]).optional()})}).superRefine(({error:e},t)=>{e.operation===`set_guess`!=(e.saveOutcome!==void 0)&&t.addIssue({code:`custom`,path:[`error`,`saveOutcome`],message:`Only save failures must include a save outcome.`})}),Hr=e.strictObject({"zh-Hans":b.shape.noticeTimeline.element.shape.sourceTextZh,"zh-Hant":b.shape.noticeTimeline.element.shape.sourceTextZh,ja:b.shape.noticeTimeline.element.shape.sourceTextZh,ko:b.shape.noticeTimeline.element.shape.sourceTextZh}),Ur=b.shape.noticeTimeline.element.omit({sourceTextZh:!0}).extend({sourceTranslations:Hr}).strict(),Wr=e.strictObject({...b.shape,contractVersion:e.literal(2),noticeTimeline:e.array(Ur).min(1).max(r.actionDetail.noticeTimeline)}),Gr=e.strictObject({...x.shape,noticeTimeline:e.array(Ur.omit({phase:!0}).extend({kinds:x.shape.noticeTimeline.element.shape.kinds}).strict()).min(1).max(r.actionDetail.noticeTimeline)}),Kr=e=>{let{sourceTranslations:t,...n}=e;return{...n,sourceTextZh:t[`zh-Hans`]}},qr=e=>({...e,contractVersion:1,noticeTimeline:e.noticeTimeline.map(Kr)}),Jr=e=>({...e,noticeTimeline:e.noticeTimeline.map(Kr)}),Yr=(e,t)=>{for(let n of e.error?.issues??[])t.addIssue({...n})},W=Wr.superRefine((e,t)=>{Yr(b.safeParse(qr(e)),t)}),Xr=Gr.superRefine((e,t)=>{Yr(x.safeParse(Jr(e)),t)}),Zr=e.strictObject({...S.shape,contractVersion:e.literal(2),actions:e.array(W).min(1).max(r.analysis.actions),pendingResetActions:e.array(Xr).max(r.analysis.actions)}).superRefine((e,t)=>{Yr(S.safeParse({...e,contractVersion:1,actions:e.actions.map(qr),pendingResetActions:e.pendingResetActions.map(Jr)}),t),new TextEncoder().encode(JSON.stringify(e)).byteLength>r.exportUtf8Bytes&&t.addIssue({code:`custom`,message:`export_utf8_size_limit_exceeded`,path:[]})}),Qr=e=>W.parse(e),$r=e=>Xr.parse(e),ei=e=>Zr.parse(e);function ti(e){let t=ei(e);return S.parse({...t,contractVersion:1,actions:t.actions.map(qr),pendingResetActions:t.pendingResetActions.map(Jr)})}const G=b.shape.noticeTimeline.element.shape,ni=e.enum([`initial`,`supplement`,`correction`]).nullable(),ri=e.strictObject({authoredAt:G.authoredAt,role:ni,sourceUrl:G.sourceUrl,sourceText:G.sourceText,sourceTextZh:G.sourceTextZh}),ii=e.array(ri).min(1).superRefine((e,t)=>{let n=new Set,r;for(let[i,a]of e.entries()){if(n.has(a.sourceUrl)&&t.addIssue({code:`custom`,path:[i,`sourceUrl`],message:`An original post may appear only once per improvement`}),n.add(a.sourceUrl),!G.authoredAt.safeParse(a.authoredAt).success){r=void 0;continue}if(r!==void 0){let e=C(r.authoredAt,a.authoredAt);(e>0||e===0&&r.sourceUrl>a.sourceUrl)&&t.addIssue({code:`custom`,path:[i],message:`Posts must be ordered by authoredAt and sourceUrl`})}r=a}}),ai=Wn,oi=N.omit({description:!0}).extend({category:e.literal(`improvement`),title:L,posts:ii}),si=N.extend({category:e.enum([`direct_reset`,`reset_card`]),title:L}),ci=e.discriminatedUnion(`category`,[oi,si]),li=z.shape,ui=li.unassignedEntries.element.shape.date;function di(e,t){e.date===null!=(e.dateBasis===`unresolved`)&&t.addIssue({code:`custom`,path:[`date`],message:`Date must agree with its evidence basis`})}const fi=e.discriminatedUnion(`category`,[oi.extend({date:ui}).superRefine(di),si.extend({date:ui}).superRefine(di)]),pi=e.strictObject({...li,contractVersion:e.literal(5),days:e.array(li.days.element.extend({entries:e.array(fi)})).length(28),unassignedEntries:e.array(fi)}).superRefine((e,t)=>{for(let[n,r]of e.days.entries())r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Official days must be numbered in order`}),r.outcome!==kn(r.entries)&&t.addIssue({code:`custom`,path:[`days`,n],message:`Outcome must reflect landed evidence`})});function mi(e){return pi.parse(e)}const hi=`https://data.radarultra.com/activity/v3/latest.json`,gi=pi.shape,[_i,vi]=gi.unassignedEntries.element.options,yi=_i.safeExtend({eventId:V}),bi=vi.safeExtend({eventId:V}),xi=e.discriminatedUnion(`category`,[yi,bi]),Si=pi.safeExtend({days:e.array(gi.days.element.extend({entries:e.array(xi)})).length(28),unassignedEntries:e.array(xi)}).superRefine((e,t)=>{Yn([...e.days.flatMap(e=>e.entries),...e.unassignedEntries],t)}),Ci={reactionCounts:or,reactionTotal:e.number().int().nonnegative()},wi=(e,t)=>Xn(e,t,B),Ti=e.discriminatedUnion(`category`,[yi.safeExtend(Ci).superRefine(wi),bi.safeExtend(Ci).superRefine(wi)]),Ei=Si.safeExtend({days:e.array(gi.days.element.extend({entries:e.array(Ti)})).length(28),unassignedEntries:e.array(Ti)}),Di=U.extend({progress:Ei});async function Oi(e){return Zn(e,Di,H)}function ki(e){return Qn(e,Di,H)}const Ai=e.discriminatedUnion(`category`,[oi,N.extend({category:e.enum([`direct_reset`,`reset_card`])})]),ji=Mr.extend({entry:Ai}),Mi=Nr.extend({contractVersion:e.literal(3),changes:e.array(ji)});function Ni(e){return ji.parse(e)}function Pi(e){return Mi.parse(e)}const Fi=`https://radarultra.com`,Ii=[`zh-Hans`,`zh-Hant`,`en`,`ja`,`ko`],Li={"zh-Hans":`/zh`,"zh-Hant":`/zh-hant`,en:``,ja:`/ja`,ko:`/ko`},Ri={reset:`/codex`,improvement:`/codex/28-day-challenge`,changelog:`/codex/changelog`,models:`/codex/models`},K=e.discriminatedUnion(`product`,[e.strictObject({product:e.literal(`cli`),version:e.string().regex(/^\d+\.\d+\.\d+$/)}),e.strictObject({product:e.literal(`app`),version:e.string().regex(/^\d{2}\.\d{3,4}$/)})]),q=e.string().regex(/^(?!\.{1,2}$)[a-z0-9.-]+$/);function J(e,t){return Fi+Li[t]+Ri[e]}function zi(e,t,n){let r=K.parse({product:e,version:t});return`${J(`changelog`,n)}/${r.product}/${r.version}`}function Bi(e,t){return`${J(`models`,t)}/${q.parse(e)}`}const Vi=Object.freeze({timeZone:`America/Los_Angeles`,startDate:`2026-10-05`,endDate:`2026-11-01`}),Hi=Date.parse(`${Vi.startDate}T00:00:00Z`),Ui=(Date.parse(`${Vi.endDate}T00:00:00Z`)-Hi)/864e5+1,Wi=new Intl.DateTimeFormat(`en-CA`,{timeZone:Vi.timeZone,year:`numeric`,month:`2-digit`,day:`2-digit`});function Gi(e){let t=Wi.formatToParts(e),n=e=>Number(t.find(t=>t.type===e).value),r=(Date.UTC(n(`year`),n(`month`)-1,n(`day`))-Hi)/864e5,i=r<0?`before`:r>=Ui?`ended`:`live`,a=Math.min(Ui,Math.max(1,r+1));return{phase:i,today:a,ongoingDay:i===`live`?a:null}}const Ki=e.enum([`reset`,`improvement`]),qi=e.array(Ki).min(1).max(2).refine(e=>new Set(e).size===e.length,`notification_topic_duplicate`),Ji=t=>e.url().refine(e=>Ii.some(n=>e===J(t,n)),`notification_target_url_invalid`),Yi=e.discriminatedUnion(`kind`,[e.object({kind:e.literal(`reset`),webUrl:Ji(`reset`),miniPath:e.literal(`pages/index/index`)}).strict(),e.object({kind:e.literal(`improvement`),webUrl:Ji(`improvement`),miniPath:e.literal(`pages/index/index?page=challenge`)}).strict()]),Xi=e.object({topics:qi,target:Yi}).strict().refine(e=>e.topics.includes(e.target.kind),`notification_target_topic_mismatch`);function Zi(e,t){return Xi.parse({topics:[e],target:{kind:e,webUrl:J(e,t),miniPath:e===`reset`?`pages/index/index`:`pages/index/index?page=challenge`}})}const Qi=e.object({notificationId:e.uuid(),eventId:e.uuid(),title:e.string().trim().min(1).max(512),createdAt:e.iso.datetime(),deliverBy:e.iso.datetime(),...Xi.shape}).strict().superRefine((e,t)=>{e.topics.includes(e.target.kind)||t.addIssue({code:`custom`,message:`notification_target_topic_mismatch`}),C(e.deliverBy,e.createdAt)<=0&&t.addIssue({code:`custom`,message:`notification_task_deadline_invalid`})});function $i(e,t){return C(e.createdAt,t.createdAt)||(e.notificationId<t.notificationId?-1:+(e.notificationId>t.notificationId))}const ea=`/api/v1/notification-tasks`,ta=100,na=e.string().min(1).max(8192),ra=e.object({cursor:na.optional()}).strict(),ia=e.object({contractVersion:e.literal(1),roundCursor:na,notifications:e.array(Qi).max(100),nextCursor:na.nullable()}).strict().superRefine((e,t)=>{new Set(e.notifications.map(e=>e.notificationId)).size!==e.notifications.length&&t.addIssue({code:`custom`,message:`notification_task_duplicate`});for(let n=1;n<e.notifications.length;n++)$i(e.notifications.at(n-1),e.notifications.at(n))>=0&&t.addIssue({code:`custom`,message:`notification_task_order_invalid`});e.nextCursor!==null&&e.notifications.length===0&&t.addIssue({code:`custom`,message:`notification_task_empty_continuation`})}),aa=`/api/browser-notifications`,oa=e.string().min(1).max(128),sa=e.uuid(),ca=e.enum(Ii),la=e.strictObject({reset:e.boolean(),improvement:e.boolean()}),ua=`[cdef][\\w-]{21}`,da=e.strictObject({fid:e.string().regex(RegExp(`^${ua}$`))});function fa(e){return e.replace(RegExp(`(^|[^\\w-])${ua}(?![\\w-])`,`g`),`$1[registration]`)}const Y={operationId:sa,expectedRevision:oa},pa=e.discriminatedUnion(`action`,[e.strictObject({...Y,action:e.literal(`register`),topics:la.refine(e=>e.reset||e.improvement,`subscription_topic_required`),locale:ca,registration:da}),e.strictObject({...Y,action:e.literal(`set_topics`),topics:la}),e.strictObject({...Y,action:e.literal(`set_locale`),locale:ca}),e.strictObject({...Y,action:e.literal(`restore`),registration:da}),e.strictObject({...Y,action:e.literal(`retry`)}),e.strictObject({...Y,action:e.literal(`cancel`)})]),ma=e.strictObject({operationId:sa.optional(),expectedRevision:oa.optional()}).refine(e=>e.operationId===void 0==(e.expectedRevision===void 0),`subscription_operation_reference_incomplete`),ha=e.strictObject({code:e.enum([`invalid_request`,`identity_unavailable`,`origin_not_allowed`,`rate_limited`,`revision_conflict`,`operation_conflict`,`registration_conflict`,`dependency_unavailable`,`provider_rejected`,`provider_rate_limited`,`provider_unavailable`,`provider_timeout`,`internal_error`]),operationId:sa.optional(),correlationId:e.uuid(),stage:e.string().min(1).max(128),saveOutcome:e.enum([`not_saved`,`unknown`]),reasonSummary:e.string().min(1).max(2048),retryable:e.boolean(),cause:e.record(e.string(),e.unknown())}),ga=e.strictObject({id:sa,state:e.enum([`pending`,`applied`,`rejected`,`unknown`,`superseded`,`not_found`]),error:ha.optional()}),_a=e.strictObject({topicSettings:e.strictObject({state:e.enum([`initial`,`saved`]),revision:oa,topics:la,locale:ca.nullable()}),registrationState:e.enum([`none`,`ready`,`invalid`,`changing`]),registrationKey:e.string().regex(/^[a-f0-9]{64}$/).nullable(),manualRetryRequired:e.boolean(),operation:ga.nullable()});function va(e,t){return{topics:t.action===`register`||t.action===`set_topics`?t.topics:e.topics,locale:t.action===`register`||t.action===`set_locale`?t.locale:e.locale}}const ya=e.strictObject({data:_a}),ba=e.strictObject({error:ha});function xa(e){return{topicSettings:{state:`initial`,revision:e,topics:{reset:!0,improvement:!1},locale:null},registrationState:`none`,registrationKey:null,manualRetryRequired:!1,operation:null}}const Sa=20,Ca=2*1024*1024,wa=`/api/v1/improvements`,Ta=e.string().min(1).max(1024),[Ea]=Si.shape.unassignedEntries.element.options,Da=Ea.safeExtend({date:e.iso.date().refine(e=>e>Vi.endDate,`improvement_must_follow_campaign`)}),Oa=e.strictObject({}),ka=e.strictObject({challengeEnded:e.boolean(),observedAt:e.iso.datetime()}),Aa=e.strictObject({cursor:Ta.nullable(),limit:e.literal(20)}),ja=ka.extend({entries:e.array(Da).max(20),nextCursor:Ta.nullable()}).superRefine((e,t)=>{new Set(e.entries.map(e=>e.eventId)).size!==e.entries.length&&t.addIssue({code:`custom`,path:[`entries`],message:`Duplicate improvement identity`})}),Ma=e.strictObject({eventIds:e.array(V).min(1).max(128)}),Na=e.strictObject({eventIds:e.array(V).max(128)}),Pa=e.strictObject({error:e.strictObject({code:e.enum([`invalid_request`,`dependency_unavailable`,`internal_error`]),message:e.string(),requestId:e.uuid(),operation:e.string(),stage:e.string(),cause:e.record(e.string(),e.unknown())})}),Fa=`/tibo-source/v1/latest.json`,Ia=512*1024,La=e.iso.datetime({offset:!0}),Ra=b.shape.noticeTimeline.element,za=e.strictObject({contractVersion:e.literal(1),observedAt:La,check:e.strictObject({checkedAt:La,freshUntil:La,active:e.boolean()}).nullable(),latestPost:e.strictObject({authoredAt:La,sourceUrl:Ra.shape.sourceUrl,sourceText:e.string(),sourceTranslations:Hr,resetRelevance:e.enum([`related`,`unrelated`,`unknown`])}).nullable()});async function Ba(e){let t=e.body?.getReader();if(t===void 0)throw Error(`tibo_source_status_body_missing`,{cause:{status:e.status}});let n=[],r=0;try{for(;;){let i=await t.read();if(i.done)break;if(r+=i.value.byteLength,r>524288)throw Error(`tibo_source_status_too_large`,{cause:{status:e.status,bytes:r}});n.push(i.value)}}finally{try{await t.cancel()}catch{}t.releaseLock()}let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.byteLength;let o=new TextDecoder(`utf-8`,{fatal:!0}).decode(i);if(!e.ok)throw Error(`tibo_source_status_http_error`,{cause:{status:e.status,upstream:o.slice(0,4e3)}});return za.parse(JSON.parse(o))}const Va=`/reset-clue/v1/latest.json`,Ha=4320*60*1e3,Ua=r.exportUtf8Bytes,Wa=W.shape.noticeTimeline.element.pick({authoredAt:!0,sourceUrl:!0,sourceText:!0,sourceTranslations:!0,contentCompleteness:!0}).extend({plannedTiming:Re.nullable(),expiresAt:W.shape.noticeTimeline.element.shape.authoredAt}).strict().superRefine((e,t)=>{Date.parse(e.expiresAt)!==Date.parse(e.authoredAt)+2592e5&&t.addIssue({code:`custom`,message:`reset_clue_expiry_mismatch`,path:[`expiresAt`]})}),Ga=e.strictObject({contractVersion:e.literal(1),clue:Wa.nullable()}),Ka=e=>Ga.parse(e);function qa(e,t){return e.clue!==null&&t.getTime()<Date.parse(e.clue.expiresAt)?e.clue:null}async function Ja(e){let t=e.body?.getReader();if(t===void 0)throw Error(`reset_clue_body_missing`,{cause:{status:e.status}});let n=[],r=0;try{for(;;){let i=await t.read();if(i.done)break;if(r+=i.value.byteLength,r>Ua)throw Error(`reset_clue_too_large`,{cause:{status:e.status,bytes:r}});n.push(i.value)}}finally{try{await t.cancel()}catch{}t.releaseLock()}let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.byteLength;let o=new TextDecoder(`utf-8`,{fatal:!0}).decode(i);if(!e.ok)throw Error(`reset_clue_http_error`,{cause:{status:e.status,upstream:o.slice(0,4e3)}});return Ka(JSON.parse(o))}const X=e.enum(Ii),Ya=e.string().regex(/^\d{4}-(?:0[1-9]|1[0-2])$/),Z=e.string().trim().min(1),Xa=e.url({protocol:/^https$/}),Q=e.discriminatedUnion(`kind`,[e.strictObject({kind:e.literal(`instant`),at:e.iso.datetime()}),e.strictObject({kind:e.literal(`date`),date:e.iso.date()})]),Za=e.strictObject({operation:Z,stage:Z,cause:Gt});function Qa(t){return e.discriminatedUnion(`state`,[e.strictObject({state:e.literal(`ready`),value:t}),e.strictObject({state:e.literal(`pending`)}),e.strictObject({state:e.literal(`failed`),failure:Za})])}function $a(e,t){return e.superRefine((e,n)=>{new TextEncoder().encode(JSON.stringify(e)).byteLength>t&&n.addIssue({code:`custom`,message:`publication_utf8_size_limit_exceeded`})})}async function eo(e,t,n,r){let i=e.body?.getReader();if(i===void 0)throw Error(`${t}_body_missing`,{cause:{operation:t,stage:`read`,status:e.status}});let a=[],o=0;try{for(;;){let e=await i.read();if(e.done)break;if(o+=e.value.byteLength,o>n)throw Error(`publication_utf8_size_limit_exceeded`);a.push(e.value)}}catch(n){throw Error(`${t}_read_failed`,{cause:{operation:t,stage:`read`,status:e.status,bytes:o,cause:n}})}finally{try{await i.cancel()}catch{}i.releaseLock()}let s=new Uint8Array(o),c=0;for(let e of a)s.set(e,c),c+=e.byteLength;let l;try{l=new TextDecoder(`utf-8`,{fatal:!0}).decode(s)}catch(n){throw Error(`${t}_decode_failed`,{cause:{operation:t,stage:`decode`,status:e.status,cause:n}})}if(!e.ok)throw Error(`${t}_http_error`,{cause:{operation:t,stage:`http`,status:e.status,upstream:l.slice(0,4e3)}});try{return r.parse(JSON.parse(l))}catch(n){throw Error(`${t}_parse_failed`,{cause:{operation:t,stage:`parse`,status:e.status,cause:n}})}}const to=`/codex-releases/v2/directory.json`,no=128*1024,ro=128*1024,io=256*1024,ao=Q,oo={product:e.enum([`app`,`cli`]),version:Z,published:Q,month:Ya,revision:Z},so=e.strictObject(oo).superRefine(co);function co(e,t){let n=K.safeParse({product:e.product,version:e.version});if(!n.success)for(let e of n.error.issues)t.addIssue({...e});e.product===`cli`!=(e.published.kind===`instant`)&&t.addIssue({code:`custom`,path:[`published`],message:`product_date_precision_mismatch`}),(e.published.kind===`instant`?e.published.at:e.published.date).slice(0,7)!==e.month&&t.addIssue({code:`custom`,path:[`month`],message:`published_month_mismatch`})}function lo(e,t){let n=new Set,r=1/0;for(let[i,a]of e.entries()){let e=`${a.product}/${a.version}`;n.has(e)&&t.addIssue({code:`custom`,path:[`releases`,i],message:`duplicate_release_identity`}),n.add(e);let o=Date.parse(a.published.kind===`instant`?a.published.at:`${a.published.date}T00:00:00Z`);o>r&&t.addIssue({code:`custom`,path:[`releases`,i],message:`release_order_mismatch`}),r=o}}const uo=$a(e.strictObject({contractVersion:e.literal(2),releases:e.array(so),latest:e.strictObject({app:e.string().nullable(),cli:e.string().nullable()})}).superRefine((e,t)=>{lo(e.releases,t);for(let n of[`app`,`cli`]){let r=e.releases.find(e=>e.product===n)?.version??null;e.latest[n]!==r&&t.addIssue({code:`custom`,path:[`latest`,n],message:`latest_release_mismatch`})}}),no),fo=e.strictObject({state:e.literal(`not_applicable`),reason:e.literal(`no_curated_notes`)}),po=e.union([Qa(e.strictObject({locale:X,points:e.array(Z).min(1).max(5)})),fo]),mo=e.strictObject({...oo,source:e.strictObject({kind:e.enum([`github`,`official`]),url:Xa}),summary:po,notesCount:e.number().int().nonnegative()}).superRefine((e,t)=>{co(e,t),e.product===`cli`!=(e.source.kind===`github`)&&t.addIssue({code:`custom`,path:[`source`,`kind`],message:`product_source_mismatch`}),e.notesCount===0!=(e.summary.state===`not_applicable`)&&t.addIssue({code:`custom`,path:[`summary`],message:`curated_notes_summary_state_mismatch`})}),ho=$a(e.strictObject({contractVersion:e.literal(2),locale:X,month:Ya,releases:e.array(mo)}).superRefine((e,t)=>{lo(e.releases,t);for(let[n,r]of e.releases.entries())r.month!==e.month&&t.addIssue({code:`custom`,path:[`releases`,n,`month`],message:`file_month_mismatch`}),r.summary.state===`ready`&&r.summary.value.locale!==e.locale&&r.summary.value.locale!==`en`&&t.addIssue({code:`custom`,path:[`releases`,n,`summary`,`value`,`locale`],message:`summary_locale_mismatch`})}),ro),go=e.array(e.strictObject({title:Z.nullable(),items:e.array(e.strictObject({text:Z,refs:Z.nullable()})).min(1)})).min(1),_o=$a(e.strictObject({contractVersion:e.literal(2),product:e.enum([`app`,`cli`]),version:Z,revision:Z,locale:X,original:e.array(go.element),translation:e.union([Qa(go),fo]).nullable()}).superRefine((e,t)=>{let n=K.safeParse({product:e.product,version:e.version});if(!n.success)for(let e of n.error.issues)t.addIssue({...e});if(e.locale===`en`!=(e.translation===null)&&t.addIssue({code:`custom`,path:[`translation`],message:`translation_locale_mismatch`}),e.locale!==`en`&&e.original.length===0!=(e.translation?.state===`not_applicable`)&&t.addIssue({code:`custom`,path:[`translation`],message:`curated_notes_translation_state_mismatch`}),e.translation?.state===`ready`){let n=e.translation.value;(n.length!==e.original.length||e.original.some((e,t)=>{let r=n.at(t);return r===void 0||e.title===null!=(r.title===null)||e.items.length!==r.items.length||e.items.some((e,t)=>e.refs!==r.items.at(t)?.refs)}))&&t.addIssue({code:`custom`,path:[`translation`],message:`translation_structure_mismatch`})}}),io),vo=e=>uo.parse(e),yo=e=>ho.parse(e),bo=e=>_o.parse(e),xo=e=>eo(e,`codex_release_directory`,no,uo),So=e=>eo(e,`codex_release_month`,ro,ho),Co=e=>eo(e,`codex_release_notes`,io,_o);function wo(e,t){return`/codex-releases/v2/${X.parse(e)}/${Ya.parse(t)}.json`}function To(e,t,n){let r=K.parse({product:t,version:n});return`/codex-releases/v2/${X.parse(e)}/notes/${r.product}/${r.version}.json`}const Eo=128*1024;function $(t){return e.discriminatedUnion(`state`,[e.strictObject({state:e.literal(`known`),value:t,source:Xa}),e.strictObject({state:e.literal(`unavailable`),reason:e.enum([`not_announced`,`not_listed`]),source:Xa.nullable()})])}const Do=e.strictObject({input:Z,cached:Z,output:Z}),Oo=e.strictObject({modelId:q,name:Z,group:e.enum([`current`,`retired`]),status:e.enum([`available`,`retiring`,`retired`]),launched:$(Q),chatgptRetirement:$(Q),apiRetirement:$(Q),credits:$(Do),apiPrice:$(Do),multiple:e.string().regex(/^(?:0|[1-9]\d*)(?:\.\d+)?$/).refine(e=>Number.isFinite(Number(e))&&Number(e)>0).nullable(),plans:$(e.array(Z).min(1)),surfaces:$(e.array(Z).min(1)),about:Qa(e.strictObject({locale:X,paragraphs:e.array(Z).min(1)})),sources:e.array(e.strictObject({label:Z,url:Xa})).min(1)}).superRefine((e,t)=>{e.status===`retired`!=(e.group===`retired`)&&t.addIssue({code:`custom`,path:[`group`],message:`model_group_status_mismatch`}),e.status===`retiring`&&e.chatgptRetirement.state!==`known`&&t.addIssue({code:`custom`,path:[`chatgptRetirement`],message:`retiring_model_requires_announced_date`})}),ko=$a(e.strictObject({contractVersion:e.literal(1),locale:X,models:e.array(Oo),multipleBase:e.strictObject({modelId:q,name:Z}).nullable(),upcomingRetirement:e.strictObject({names:Z,modelIds:e.array(q).min(1),surface:e.enum([`api`,`chatgpt`]),at:Q}).nullable()}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.models.entries())n.has(i.modelId)&&t.addIssue({code:`custom`,path:[`models`,r,`modelId`],message:`duplicate_model_identity`}),n.add(i.modelId),i.about.state===`ready`&&i.about.value.locale!==e.locale&&i.about.value.locale!==`en`&&t.addIssue({code:`custom`,path:[`models`,r,`about`,`value`,`locale`],message:`model_description_locale_mismatch`}),i.multiple!==null&&(e.multipleBase===null||i.credits.state!==`known`)&&t.addIssue({code:`custom`,path:[`models`,r,`multiple`],message:`multiple_requires_base_and_credits`});if(e.multipleBase!==null){let n=e.models.find(t=>t.modelId===e.multipleBase?.modelId);(n===void 0||n.group!==`current`||n.credits.state!==`known`||n.multiple!==`1`||n.name!==e.multipleBase.name)&&t.addIssue({code:`custom`,path:[`multipleBase`],message:`multiple_base_mismatch`})}let r=e.upcomingRetirement;if(r!==null){new Set(r.modelIds).size!==r.modelIds.length&&t.addIssue({code:`custom`,path:[`upcomingRetirement`,`modelIds`],message:`duplicate_retirement_model`});for(let n of r.modelIds){let i=e.models.find(e=>e.modelId===n),a=r.surface===`api`?i?.apiRetirement:i?.chatgptRetirement;(a?.state!==`known`||JSON.stringify(a.value)!==JSON.stringify(r.at))&&t.addIssue({code:`custom`,path:[`upcomingRetirement`],message:`retirement_model_date_mismatch`})}}}),Eo),Ao=e=>ko.parse(e),jo=e=>eo(e,`codex_models`,Eo,ko),Mo=e=>`/codex-models/v1/${X.parse(e)}.json`;export{an as RadarResetSourceContractErrorV2,qa as activeRadarResetClue,$i as compareRadarNotificationTasks,He as compareRadarResetActionDetailsV1,C as compareRadarResetUtcTimestampsV1,Gi as createRadarCodexProgressCalendar,Zi as createRadarNotificationProjection,wn as createRadarResetSourceErrorEnvelopeV2,Dr as encodeRadarActivityFile,kr as encodeRadarActivityFileV2,ki as encodeRadarActivityFileV3,pn as encodeRadarResetDetailMultipartV2,Or as encodeRadarTitledActivityFile,ct as formatRadarResetPositiveDecimalV2,st as formatRadarResetUInt64DecimalV2,xa as initialRadarBrowserSubscription,Ao as parseRadarCodexModels,Ni as parseRadarCodexProgressChangeV3,Pi as parseRadarCodexProgressChangesV3,On as parseRadarCodexProgressV1,Fn as parseRadarCodexProgressV2,Un as parseRadarCodexProgressV3,Jn as parseRadarCodexProgressV4,mi as parseRadarCodexProgressV5,vo as parseRadarCodexReleaseDirectory,yo as parseRadarCodexReleaseMonth,bo as parseRadarCodexReleaseNotes,We as parseRadarResetActionDetailV1,Qr as parseRadarResetActionDetailV2,bt as parseRadarResetActionSummaryV2,Ue as parseRadarResetAnalysisV1,Ka as parseRadarResetClueSnapshot,_n as parseRadarResetDetailMultipartV2,Ge as parseRadarResetExportV1,ei as parseRadarResetExportV2,Ke as parseRadarResetPendingActionV1,$r as parseRadarResetPendingActionV2,at as parseRadarResetPositiveDecimalV2,St as parseRadarResetPublicationHomeFactsV2,rn as parseRadarResetPublicationRevisionAvailableV2,Xt as parseRadarResetReadActionsRequestV2,en as parseRadarResetReadActionsSuccessV2,Zt as parseRadarResetReadChangesRequestV2,tn as parseRadarResetReadChangesSuccessV2,Qt as parseRadarResetReadDetailBatchRequestV2,Yt as parseRadarResetReadHeadRequestV2,$t as parseRadarResetReadHeadSuccessV2,oe as parseRadarResetSnapshotAvailableV1,nn as parseRadarResetSourceErrorEnvelopeV2,it as parseRadarResetUInt64DecimalV2,va as projectRadarBrowserSubscriptionSelection,ti as projectRadarResetExportV1FromV2,qe as projectRadarResetPrimarySourceV1,V as radarActivityEventIdSchema,U as radarActivityFileSchema,er as radarActivityFileUrl,Cr as radarActivityFileV2Schema,tr as radarActivityFileV2Url,Di as radarActivityFileV3Schema,hi as radarActivityFileV3Url,H as radarActivityMaxBytes,ar as radarActivityProgressSchema,br as radarActivityProgressV2Schema,Si as radarActivityProgressV3Schema,or as radarActivityReactionCountsSchema,$n as radarActivityReactionIdSchema,B as radarActivityReactionIds,da as radarBrowserRegistrationSchema,ba as radarBrowserSubscriptionErrorRes,ha as radarBrowserSubscriptionFailureSchema,ga as radarBrowserSubscriptionOperationSchema,ma as radarBrowserSubscriptionReadReq,ya as radarBrowserSubscriptionRes,pa as radarBrowserSubscriptionSaveReq,_a as radarBrowserSubscriptionViewSchema,aa as radarBrowserSubscriptionsPath,la as radarBrowserTopicsSchema,Ir as radarCodexGuessChoiceSchema,Vr as radarCodexGuessErrorSchema,Lr as radarCodexGuessSaveReqSchema,Br as radarCodexGuessViewSchema,q as radarCodexModelIdSchema,Bi as radarCodexModelUrl,Eo as radarCodexModelsMaxBytes,Mo as radarCodexModelsPath,ko as radarCodexModelsSchema,Vi as radarCodexProgressCalendar,Ar as radarCodexProgressChangeSchema,Mr as radarCodexProgressChangeV2Schema,ji as radarCodexProgressChangeV3Schema,jr as radarCodexProgressChangesV1Schema,Nr as radarCodexProgressChangesV2Schema,Mi as radarCodexProgressChangesV3Schema,N as radarCodexProgressEntrySchema,Ln as radarCodexProgressEntryV3Schema,ci as radarCodexProgressEntryV5Schema,oi as radarCodexProgressImprovementV5Schema,ni as radarCodexProgressPostRoleV5Schema,ri as radarCodexProgressPostV5Schema,ii as radarCodexProgressPostsV5Schema,si as radarCodexProgressResetEntryV5Schema,Hn as radarCodexProgressScore,L as radarCodexProgressTitleV3Schema,P as radarCodexProgressV1Schema,An as radarCodexProgressV2MaxBytes,I as radarCodexProgressV2Schema,In as radarCodexProgressV3MaxBytes,R as radarCodexProgressV3Schema,Wn as radarCodexProgressV4MaxBytes,z as radarCodexProgressV4Schema,ai as radarCodexProgressV5MaxBytes,pi as radarCodexProgressV5Schema,no as radarCodexReleaseDirectoryMaxBytes,to as radarCodexReleaseDirectoryPath,uo as radarCodexReleaseDirectorySchema,K as radarCodexReleaseIdentitySchema,ro as radarCodexReleaseMonthMaxBytes,wo as radarCodexReleaseMonthPath,ho as radarCodexReleaseMonthSchema,io as radarCodexReleaseNotesMaxBytes,To as radarCodexReleaseNotesPath,_o as radarCodexReleaseNotesSchema,go as radarCodexReleaseSectionsSchema,zi as radarCodexReleaseUrl,ao as radarCodexTimePointSchema,wa as radarImprovementColumnPath,Ma as radarImprovementEligibilityReq,Na as radarImprovementEligibilityRes,Da as radarImprovementEntrySchema,Pa as radarImprovementErrorRes,Oa as radarImprovementHeadReq,ka as radarImprovementHeadRes,Ca as radarImprovementPageMaxBytes,Aa as radarImprovementPageReq,ja as radarImprovementPageRes,Sa as radarImprovementPageSize,Xi as radarNotificationProjectionSchema,Yi as radarNotificationTargetSchema,ta as radarNotificationTaskPageSize,Qi as radarNotificationTaskSchema,ea as radarNotificationTasksPath,ra as radarNotificationTasksReq,ia as radarNotificationTasksRes,Ki as radarNotificationTopicSchema,qi as radarNotificationTopicsSchema,b as radarResetActionDetailV1Schema,W as radarResetActionDetailV2Schema,Dt as radarResetActionItemV2Schema,Ze as radarResetActionPageMaxBytesV2,Xe as radarResetActionPageMaxItemsV2,yt as radarResetActionSummaryV2Schema,Tt as radarResetActiveActionItemV2Schema,Pe as radarResetAnalysisV1Schema,n as radarResetAnalyzerContractVersionV1,s as radarResetAudienceValues,Ft as radarResetChangeCoverageV2Schema,$e as radarResetChangePageMaxBytesV2,Qe as radarResetChangePageMaxItemsV2,Ha as radarResetClueLifetimeMs,Ua as radarResetClueMaxBytes,Va as radarResetCluePath,Wa as radarResetClueSchema,Ga as radarResetClueSnapshotSchema,t as radarResetContractVersionV1,Je as radarResetContractVersionV2,tt as radarResetDetailBatchMaxBytesV2,et as radarResetDetailBatchMaxChunksV2,Ct as radarResetDetailChunkReferenceV2Schema,jt as radarResetDetailChunkRequestV2Schema,wt as radarResetDetailManifestV2Schema,a as radarResetEffectValues,S as radarResetExportV1Schema,Zr as radarResetExportV2Schema,Le as radarResetNoticeKindValues,x as radarResetPendingActionV1Schema,Xr as radarResetPendingActionV2Schema,c as radarResetPlanValues,w as radarResetPositiveDecimalV2Schema,o as radarResetProductValues,r as radarResetPublicDataLimits,E as radarResetPublicIdV2Schema,xt as radarResetPublicationHomeFactsV2Schema,Jt as radarResetPublicationRevisionAvailableV2Schema,Re as radarResetPublicationTimingSchema,Lt as radarResetReadActionsDataV2Schema,kt as radarResetReadActionsRequestV2Schema,Vt as radarResetReadActionsSuccessV2Schema,Rt as radarResetReadChangesDataV2Schema,At as radarResetReadChangesRequestV2Schema,Ht as radarResetReadChangesSuccessV2Schema,Mt as radarResetReadDetailBatchRequestV2Schema,It as radarResetReadHeadDataV2Schema,Ot as radarResetReadHeadRequestV2Schema,Bt as radarResetReadHeadSuccessV2Schema,ee as radarResetReasonBasisValues,l as radarResetReasonCategoryValues,Gt as radarResetSafeCauseSnapshotV2Schema,i as radarResetSeriesValues,D as radarResetSha256V2Schema,ae as radarResetSnapshotAvailableV1Schema,Pt as radarResetSourceChangeV2Schema,Ut as radarResetSourceErrorCodeValuesV2,qt as radarResetSourceErrorEnvelopeV2Schema,Cn as radarResetSourceErrorHttpStatusV2,Sn as radarResetSourceErrorIsRetryableV2,Kt as radarResetSourceErrorV2Schema,Ye as radarResetSourceMaxRpcCallsV2,Hr as radarResetSourceTranslationsSchema,rt as radarResetUInt64DecimalV2Schema,ot as radarResetUInt64DecimalV2ToBigInt,T as radarResetUtcTimestampV2Schema,Et as radarResetWithdrawnActionItemV2Schema,Ia as radarTiboSourceStatusMaxBytes,Fa as radarTiboSourceStatusPath,za as radarTiboSourceStatusSchema,_r as radarTitledActivityFileSchema,mr as radarTitledActivityProgressSchema,Li as radarWebsiteLocalePrefixes,Ii as radarWebsiteLocales,Fi as radarWebsiteOrigin,Ri as radarWebsitePagePaths,J as radarWebsitePageUrl,wr as readRadarActivityFile,Er as readRadarActivityFileV2,Oi as readRadarActivityFileV3,jo as readRadarCodexModels,xo as readRadarCodexReleaseDirectory,So as readRadarCodexReleaseMonth,Co as readRadarCodexReleaseNotes,Ja as readRadarResetClueSnapshot,Ba as readRadarTiboSourceStatus,Tr as readRadarTitledActivityFile,fa as redactRadarBrowserRegistrationReferences,xn as toSafeCauseSnapshotV2};
7
+ `),u=[],d=0;for(let e of n.chunks){if(!A(c,l,d))return j(`source_stream_incomplete`,!0);d+=l.byteLength;let t=gn(c,te,d);if(t<0)return j(`source_stream_incomplete`,!0);let n=hn(c.slice(d,t));if(d=t+te.byteLength,n.get(`content-type`)!==`application/octet-stream`)return j(`source_chunk_mismatch`,!1);let r;try{r=on.decode(un(n.get(`x-radar-reset-action-id-b64`)))}catch(e){return j(`source_chunk_mismatch`,!1,e)}if(r!==e.resetActionId||n.get(`x-radar-detail-ordinal`)!==String(e.ordinal)||n.get(`x-radar-byte-size`)!==String(e.byteSize)||n.get(`x-radar-sha-256`)!==e.sha256)return j(`source_chunk_mismatch`,!1);if(d+e.byteSize+ne.byteLength>c.byteLength)return j(`source_stream_incomplete`,!0);let i=c.slice(d,d+e.byteSize);if(d+=e.byteSize,!A(c,ne,d)||(d+=ne.byteLength,await dn(i)!==e.sha256))return j(`source_chunk_mismatch`,!1);u.push({...e,bytes:i})}return!A(c,ee,d)||d+ee.byteLength!==c.byteLength?j(`source_stream_incomplete`,!0):u}const vn=/authorization|cookie|token|secret|password|api[-_]?key/iu;function yn(e,t){let n=[...e].slice(0,1024),r=``;for(let e of n){let n=k.encode(e).byteLength;if(n>t.remaining)break;t.remaining-=n,r+=e}return r}function bn(e,t,n,r){if(e===null||typeof e==`boolean`)return e;if(typeof e==`string`)return yn(e,n);if(typeof e==`number`)return Number.isFinite(e)?e:String(e);if(typeof e==`bigint`||typeof e==`symbol`)return yn(String(e),n);if(e===void 0)return`undefined`;if(typeof e==`function`)return`[Function ${e.name||`anonymous`}]`;if(r.has(e))return`[Circular]`;if(t>=4)return`[DepthLimit]`;if(r.add(e),Array.isArray(e))return e.slice(0,16).map(e=>bn(e,t+1,n,r));let i={},a=e instanceof Error?[[`type`,e.constructor.name],[`name`,e.name],[`message`,e.message],...e.cause===void 0?[]:[[`cause`,e.cause]],...Object.entries(e)]:Object.entries(e);for(let[e,o]of a.slice(0,16)){let a=yn(String(e),n);if(!(a.length===0||Object.hasOwn(i,a))&&(n.remaining-=Math.min(n.remaining,8),i[a]=vn.test(a)?`[REDACTED]`:bn(o,t+1,n,r),n.remaining<=0))break}return i}function xn(e){let t=bn(e,0,{remaining:7e3},new Set),n=typeof t==`object`&&t&&!Array.isArray(t)?t:{type:e===null?`null`:typeof e,message:t};return Gt.parse(n),n}function Sn(e){return e===`source_temporarily_unavailable`||e===`source_rpc_transport_failure`||e===`source_stream_incomplete`}function Cn(e){switch(e){case`source_invalid_request`:return 400;case`source_revision_unknown`:return 404;case`source_cursor_invalid`:case`source_chunk_mismatch`:return 409;case`source_response_over_capacity`:return 413;case`source_temporarily_unavailable`:case`source_rpc_transport_failure`:case`source_stream_incomplete`:return 503;case`source_integrity_conflict`:case`source_revision_identity_conflict`:case`source_sequence_exhausted`:return 500}}function wn(e){let t={contractVersion:2,ok:!1,error:{code:e.code,operation:e.operation,stage:e.stage,...e.revision===void 0?{}:{revision:e.revision},retryable:Sn(e.code),correlationId:e.correlationId,cause:xn(e.cause)}};return qt.parse(t)}const Tn=e.strictObject({en:e.string().trim().min(1),zh:e.string().trim().min(1)}),En=e.iso.date(),N=e.strictObject({category:e.enum([`improvement`,`direct_reset`,`reset_card`]),deliveryState:e.enum([`preview`,`landed`]),description:Tn,dateBasis:e.enum([`occurrence`,`announcement`,`unresolved`]),sourceUrls:e.array(e.url({protocol:/^https?$/})).min(1)}),Dn=e.discriminatedUnion(`state`,[e.strictObject({state:e.literal(`ready`),text:Tn}),e.strictObject({state:e.enum([`pending`,`failed`,`not_applicable`]),text:e.null()})]),P=e.strictObject({contractVersion:e.literal(1),generatedAt:e.iso.datetime(),timeZone:e.string().refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}},`Invalid source time zone`),startDate:En,endDate:En,processing:e.strictObject({hasPending:e.boolean(),hasFailures:e.boolean()}),days:e.array(e.strictObject({date:En,dayNumber:e.number().int().min(1).max(28),outcome:e.enum([`unconfirmed`,`improvement`,`reset`,`both`]),entries:e.array(N),summary:Dn})).length(28),undatedEntries:e.array(N)}).superRefine((e,t)=>{let n=Date.parse(`${e.startDate}T00:00:00Z`);for(let[r,i]of e.days.entries()){let e=new Date(n+r*864e5).toISOString().slice(0,10);(i.date!==e||i.dayNumber!==r+1)&&t.addIssue({code:`custom`,path:[`days`,r],message:`Days must be contiguous and numbered in order`}),i.entries.some(e=>e.dateBasis===`unresolved`)&&t.addIssue({code:`custom`,path:[`days`,r,`entries`],message:`Unresolved dates belong in undatedEntries`});let a=i.entries.filter(e=>e.deliveryState===`landed`),o=a.some(e=>e.category===`improvement`),s=a.some(e=>e.category!==`improvement`),c=o?s?`both`:`improvement`:s?`reset`:`unconfirmed`;(i.outcome!==c||a.length===0!=(i.summary.state===`not_applicable`))&&t.addIssue({code:`custom`,path:[`days`,r],message:`Outcome and summary must reflect landed evidence`})}e.days.at(-1)?.date!==e.endDate&&t.addIssue({code:`custom`,path:[`endDate`],message:`End must match the last activity day`}),e.undatedEntries.some(e=>e.dateBasis!==`unresolved`)&&t.addIssue({code:`custom`,path:[`undatedEntries`],message:`Undated entries must have unresolved dates`})});function On(e){return P.parse(e)}function kn(e){let t=e.filter(e=>e.deliveryState===`landed`),n=t.some(e=>e.category===`improvement`),r=t.some(e=>e.category!==`improvement`);return n?r?`both`:`improvement`:r?`reset`:`unconfirmed`}const An=524288,F=P.shape,jn=F.days.element,Mn=N.extend({date:F.startDate.nullable()}).superRefine((e,t)=>{e.date===null!=(e.dateBasis===`unresolved`)&&t.addIssue({code:`custom`,path:[`date`],message:`Date must agree with its evidence basis`})}),Nn=e.strictObject({state:e.enum([`unconfirmed`,`ongoing`,`ended`]),sourceUrls:e.array(N.shape.sourceUrls.element)}).superRefine((e,t)=>{e.state!==`unconfirmed`&&e.sourceUrls.length===0&&t.addIssue({code:`custom`,path:[`sourceUrls`],message:`Confirmed lifecycle states require source evidence`})}),Pn=jn.omit({date:!0,entries:!0}).extend({entries:e.array(Mn),lifecycle:Nn}),I=e.strictObject({contractVersion:e.literal(2),generatedAt:F.generatedAt,timeZone:F.timeZone,processing:F.processing,days:e.array(Pn).length(28),unassignedEntries:e.array(Mn)}).superRefine((e,t)=>{for(let[n,r]of e.days.entries()){r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Official days must be numbered in order`});let e=r.entries.filter(e=>e.deliveryState===`landed`),i=kn(r.entries);(r.outcome!==i||e.length===0!=(r.summary.state===`not_applicable`))&&t.addIssue({code:`custom`,path:[`days`,n],message:`Outcome and summary must reflect landed evidence`})}});function Fn(e){return I.parse(e)}const In=An,L=e.strictObject({en:e.string().trim().min(1),zh:e.string().trim().min(1)}),Ln=N.extend({title:L}),Rn=I.shape,zn=Rn.days.element,Bn=zn.shape.entries.element.safeExtend({title:L}),Vn=zn.extend({title:L.nullable(),entries:e.array(Bn)}).superRefine((e,t)=>{e.title!==null!=(e.summary.state===`ready`)&&t.addIssue({code:`custom`,path:[`title`],message:`A daily title is available exactly when its summary is ready`})}),R=e.strictObject({...Rn,contractVersion:e.literal(3),days:e.array(Vn),unassignedEntries:e.array(Bn)}).superRefine((e,t)=>{let n=I.safeParse({contractVersion:2,generatedAt:e.generatedAt,timeZone:e.timeZone,processing:e.processing,days:e.days.map(({title:e,...t})=>({...t,entries:t.entries.map(({title:e,...t})=>t)})),unassignedEntries:e.unassignedEntries.map(({title:e,...t})=>t)});if(!n.success)for(let e of n.error.issues)t.addIssue({...e})});function Hn(e){return{improvementDays:e.days.filter(e=>e.outcome===`improvement`||e.outcome===`both`).length,resetDays:e.days.filter(e=>e.outcome===`reset`||e.outcome===`both`).length}}function Un(e){return R.parse(e)}const Wn=In,Gn=I.shape,Kn=R.shape.unassignedEntries,qn=Gn.days.element.omit({summary:!0}).extend({entries:Kn}),z=e.strictObject({...Gn,contractVersion:e.literal(4),days:e.array(qn).length(28),unassignedEntries:Kn}).superRefine((e,t)=>{for(let[n,r]of e.days.entries())r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Official days must be numbered in order`}),r.outcome!==kn(r.entries)&&t.addIssue({code:`custom`,path:[`days`,n],message:`Outcome must reflect landed evidence`})});function Jn(e){return z.parse(e)}function Yn(e,t){let n=new Set;for(let r of e)n.has(r.eventId)&&t.addIssue({code:`custom`,message:`Duplicate activity eventId`}),n.add(r.eventId)}function Xn(e,t,n){let r=n.reduce((t,n)=>t+e.reactionCounts[n],0);(!Number.isSafeInteger(r)||r!==e.reactionTotal)&&t.addIssue({code:`custom`,path:[`reactionTotal`],message:`Total must equal all reaction counts`})}async function Zn(e,t,n){if(e.status!==200){let t={status:e.status,statusText:e.statusText};try{await e.body?.cancel()}catch(e){throw Error(`activity_file_http_error`,{cause:{...t,cancellationCause:e}})}throw Error(`activity_file_http_error`,{cause:t})}if(e.body===null)throw Error(`activity_file_body_missing`);let r=e.body.getReader(),i=[],a=0;try{for(;;){let e=await r.read();if(e.done)break;if(a+=e.value.byteLength,a>n)throw Error(`activity_file_too_large`,{cause:{maxBytes:n,observedBytes:a}});i.push(e.value)}let e=new Uint8Array(a),o=0;for(let t of i)e.set(t,o),o+=t.byteLength;return t.parse(JSON.parse(new TextDecoder(`utf-8`,{fatal:!0}).decode(e)))}catch(e){try{await r.cancel()}catch{}throw Error(`activity_file_read_failed`,{cause:e})}finally{r.releaseLock()}}function Qn(e,t,n){let r=new TextEncoder().encode(JSON.stringify(t.parse(e)));if(r.byteLength>n)throw Error(`activity_file_too_large`,{cause:{byteLength:r.byteLength}});return r}const B=[`👍`,`😂`,`🤡`,`💀`,`😭`,`🔥`,`🎉`,`👀`,`🙏`,`🫠`],$n=e.enum(B),V=e.string().min(1).max(128),H=524288,er=`https://data.radarultra.com/activity/v1/latest.json`,tr=`https://data.radarultra.com/activity/v2/latest.json`,nr=N.extend({eventId:V}),rr=P.safeExtend({days:e.array(P.shape.days.element.extend({entries:e.array(nr)})).length(28),undatedEntries:e.array(nr)});function ir(e,t){Yn([...e.days.flatMap(e=>e.entries),...e.undatedEntries],t)}const ar=rr.superRefine(ir),or=e.record($n,e.number().int().nonnegative()),sr=e.strictObject({reactionCounts:or,reactionTotal:e.number().int().nonnegative()});function cr(e,t){Xn(e,t,B)}const lr=nr.extend(sr.shape).superRefine(cr),ur=rr.safeExtend({days:e.array(rr.shape.days.element.extend({entries:e.array(lr)})).length(28),undatedEntries:e.array(lr)}).superRefine(ir),U=e.strictObject({publishedAt:e.iso.datetime(),reactionIds:e.array($n).length(B.length).refine(e=>new Set(e).size===B.length,`Every reaction must occur exactly once`),progress:ur}),dr=R.shape,fr=dr.unassignedEntries.element.safeExtend({eventId:V}),pr=e.strictObject({...dr,days:e.array(dr.days.element.safeExtend({entries:e.array(fr)})).length(28),unassignedEntries:e.array(fr)}),mr=pr.superRefine((e,t)=>{let n=({eventId:e,...t})=>t,r=R.safeParse({...e,days:e.days.map(e=>({...e,entries:e.entries.map(n)})),unassignedEntries:e.unassignedEntries.map(n)});if(!r.success)for(let e of r.error.issues)t.addIssue({...e});Yn([...e.days.flatMap(e=>e.entries),...e.unassignedEntries],t)}),hr=fr.safeExtend(sr.shape).superRefine(cr),gr=pr.safeExtend({days:e.array(dr.days.element.safeExtend({entries:e.array(hr)})).length(28),unassignedEntries:e.array(hr)}).superRefine((e,t)=>{let n=({reactionCounts:e,reactionTotal:t,...n})=>n,r=mr.safeParse({...e,days:e.days.map(e=>({...e,entries:e.entries.map(n)})),unassignedEntries:e.unassignedEntries.map(n)});if(!r.success)for(let e of r.error.issues)t.addIssue({...e})}),_r=U.extend({progress:gr}),vr=z.shape,yr=vr.unassignedEntries.element.safeExtend({eventId:V}),br=z.safeExtend({days:e.array(vr.days.element.safeExtend({entries:e.array(yr)})).length(28),unassignedEntries:e.array(yr)}).superRefine((e,t)=>{Yn([...e.days.flatMap(e=>e.entries),...e.unassignedEntries],t)}),xr=yr.safeExtend(sr.shape).superRefine(cr),Sr=br.safeExtend({days:e.array(vr.days.element.safeExtend({entries:e.array(xr)})).length(28),unassignedEntries:e.array(xr)}),Cr=U.extend({progress:Sr});async function wr(e){return Zn(e,U,H)}async function Tr(e){return Zn(e,_r,H)}async function Er(e){return Zn(e,Cr,H)}function Dr(e){return Qn(e,U,H)}function Or(e){return Qn(e,_r,H)}function kr(e){return Qn(e,Cr,H)}const Ar=e.strictObject({changeId:e.string().min(1).max(128),eventId:e.string().min(1).max(128),revision:e.int().positive(),kind:e.enum([`created`,`updated`,`withdrawn`]),date:e.iso.date().nullable(),entry:N,receivedAt:e.iso.datetime().nullable(),acceptedAt:e.iso.datetime()}),jr=e.strictObject({contractVersion:e.literal(1),changes:e.array(Ar),nextCursor:e.string().min(1),hasMore:e.boolean()}),Mr=Ar.extend({dayNumber:P.shape.days.element.shape.dayNumber.nullable()}),Nr=jr.extend({contractVersion:e.literal(2),changes:e.array(Mr)}),Pr=e.int().min(0).max(2**53-1),Fr=e.int().min(1).max(28),Ir=e.enum([`yes`,`no`]).nullable(),Lr=e.strictObject({choice:Ir}),Rr=e.strictObject({yes:Pr,no:Pr,total:Pr}).superRefine((e,t)=>{(!Number.isSafeInteger(e.yes+e.no)||e.total!==e.yes+e.no)&&t.addIssue({code:`custom`,path:[`total`],message:`Total must equal the effective choices.`})}),zr=e.strictObject({dayNumber:Fr,state:e.enum([`unopened`,`open`,`closed`]),choice:Ir,outcome:e.enum([`unconfirmed`,`yes`,`no`]),personalResult:e.enum([`none`,`waiting`,`correct`,`incorrect`]),corrected:e.boolean(),counts:Rr}).superRefine((e,t)=>{let n=e.choice===null?`none`:e.outcome===`unconfirmed`?`waiting`:e.choice===e.outcome?`correct`:`incorrect`;e.personalResult!==n&&t.addIssue({code:`custom`,path:[`personalResult`],message:`Personal result must match the confirmed outcome and choice.`}),e.state!==`closed`&&e.outcome!==`unconfirmed`&&t.addIssue({code:`custom`,path:[`outcome`],message:`An open or unopened day cannot have a confirmed result.`}),e.state===`unopened`&&(e.choice!==null||e.counts.total!==0)&&t.addIssue({code:`custom`,path:[`state`],message:`An unopened day cannot have choices.`})}),Br=e.strictObject({revision:Pr,openDayNumber:Fr.nullable(),days:e.array(zr).length(28)}).superRefine((e,t)=>{for(let[n,r]of e.days.entries()){r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Every official day must occur once, in order.`});let i=e.openDayNumber===null||r.dayNumber<e.openDayNumber?`closed`:r.dayNumber===e.openDayNumber?`open`:`unopened`;r.state!==i&&t.addIssue({code:`custom`,path:[`days`,n,`state`],message:`Only the next official day may be open.`})}}),Vr=e.strictObject({error:e.strictObject({code:e.enum([`invalid_request`,`payload_too_large`,`unsupported_media_type`,`origin_not_allowed`,`rate_limited`,`dependency_unavailable`,`internal_error`,`day_closed`,`identity_unavailable`]),message:e.string().min(1).max(2048),requestId:e.string().min(1).max(128),operation:e.enum([`get_guesses`,`set_guess`]),stage:e.string().min(1).max(128),cause:e.record(e.string(),e.unknown()),saveOutcome:e.enum([`not_saved`,`unknown`]).optional()})}).superRefine(({error:e},t)=>{e.operation===`set_guess`!=(e.saveOutcome!==void 0)&&t.addIssue({code:`custom`,path:[`error`,`saveOutcome`],message:`Only save failures must include a save outcome.`})}),Hr=e.strictObject({"zh-Hans":b.shape.noticeTimeline.element.shape.sourceTextZh,"zh-Hant":b.shape.noticeTimeline.element.shape.sourceTextZh,ja:b.shape.noticeTimeline.element.shape.sourceTextZh,ko:b.shape.noticeTimeline.element.shape.sourceTextZh}),Ur=b.shape.noticeTimeline.element.omit({sourceTextZh:!0}).extend({sourceTranslations:Hr}).strict(),Wr=e.strictObject({...b.shape,contractVersion:e.literal(2),noticeTimeline:e.array(Ur).min(1).max(r.actionDetail.noticeTimeline)}),Gr=e.strictObject({...x.shape,noticeTimeline:e.array(Ur.omit({phase:!0}).extend({kinds:x.shape.noticeTimeline.element.shape.kinds}).strict()).min(1).max(r.actionDetail.noticeTimeline)}),Kr=e=>{let{sourceTranslations:t,...n}=e;return{...n,sourceTextZh:t[`zh-Hans`]}},qr=e=>({...e,contractVersion:1,noticeTimeline:e.noticeTimeline.map(Kr)}),Jr=e=>({...e,noticeTimeline:e.noticeTimeline.map(Kr)}),Yr=(e,t)=>{for(let n of e.error?.issues??[])t.addIssue({...n})},W=Wr.superRefine((e,t)=>{Yr(b.safeParse(qr(e)),t)}),Xr=Gr.superRefine((e,t)=>{Yr(x.safeParse(Jr(e)),t)}),Zr=e.strictObject({...S.shape,contractVersion:e.literal(2),actions:e.array(W).min(1).max(r.analysis.actions),pendingResetActions:e.array(Xr).max(r.analysis.actions)}).superRefine((e,t)=>{Yr(S.safeParse({...e,contractVersion:1,actions:e.actions.map(qr),pendingResetActions:e.pendingResetActions.map(Jr)}),t),new TextEncoder().encode(JSON.stringify(e)).byteLength>r.exportUtf8Bytes&&t.addIssue({code:`custom`,message:`export_utf8_size_limit_exceeded`,path:[]})}),Qr=e=>W.parse(e),$r=e=>Xr.parse(e),ei=e=>Zr.parse(e);function ti(e){let t=ei(e);return S.parse({...t,contractVersion:1,actions:t.actions.map(qr),pendingResetActions:t.pendingResetActions.map(Jr)})}const ni=W.shape,ri=e.strictObject({title:e.string(),body:e.string()}),ii=e.strictObject({zh:ri,en:ri}),ai=e.enum([`end_preview`,`restore_preview`,`set_auto_notification`,`notify`]),oi=e.strictObject({resetActionId:ni.resetActionId,operation:ai,expectedRevision:e.int().nonnegative(),copy:ii.nullable(),automaticNotification:e.boolean().nullable()}).superRefine((e,t)=>{e.operation===`notify`!=(e.copy!==null)&&t.addIssue({code:`custom`,path:[`copy`],message:`notification_copy_operation_mismatch`}),e.operation===`set_auto_notification`!=(e.automaticNotification!==null)&&t.addIssue({code:`custom`,path:[`automaticNotification`],message:`notification_policy_operation_mismatch`})}),si=oi,ci=oi,li=e.strictObject({digest:e.string().regex(/^sha256:[a-f0-9]{64}$/),sourceWatermark:e.string().min(1),draft:oi}),ui=e.strictObject({operationId:e.uuid(),preview:li}),di=e.strictObject({resetActionId:ni.resetActionId,revision:e.number().int().nonnegative(),state:e.enum([`preview`,`executed`,`cancelled`,`undetermined`]),firstAnnouncedAt:T.nullable(),officialConfirmed:e.boolean(),pendingPreview:e.boolean(),previewClosed:e.boolean(),automaticNotification:e.boolean(),sourceUrls:e.array(ni.noticeTimeline.element.shape.sourceUrl),availableOperations:e.array(ai),notificationOperationId:e.uuid().nullable()}),fi=e.strictObject({actions:e.array(di)}),pi=e.discriminatedUnion(`status`,[e.strictObject({status:e.literal(`unknown`),operationId:e.uuid()}),e.strictObject({status:e.literal(`saved`),operationId:e.uuid(),resetActionId:ni.resetActionId,operation:ai,revision:e.number().int().positive(),notification:e.strictObject({state:e.enum([`disabled`,`pending`,`claimed`,`retry_wait`,`accepted`,`rejected`,`expired`]),resultCode:e.string().nullable(),diagnostic:e.record(e.string(),e.unknown()).nullable()})})]),G=b.shape.noticeTimeline.element.shape,mi=e.enum([`initial`,`supplement`,`correction`]).nullable(),hi=e.strictObject({authoredAt:G.authoredAt,role:mi,sourceUrl:G.sourceUrl,sourceText:G.sourceText,sourceTextZh:G.sourceTextZh}),gi=e.array(hi).min(1).superRefine((e,t)=>{let n=new Set,r;for(let[i,a]of e.entries()){if(n.has(a.sourceUrl)&&t.addIssue({code:`custom`,path:[i,`sourceUrl`],message:`An original post may appear only once per improvement`}),n.add(a.sourceUrl),!G.authoredAt.safeParse(a.authoredAt).success){r=void 0;continue}if(r!==void 0){let e=C(r.authoredAt,a.authoredAt);(e>0||e===0&&r.sourceUrl>a.sourceUrl)&&t.addIssue({code:`custom`,path:[i],message:`Posts must be ordered by authoredAt and sourceUrl`})}r=a}}),_i=Wn,vi=N.omit({description:!0}).extend({category:e.literal(`improvement`),title:L,posts:gi}),yi=N.extend({category:e.enum([`direct_reset`,`reset_card`]),title:L}),bi=e.discriminatedUnion(`category`,[vi,yi]),xi=z.shape,Si=xi.unassignedEntries.element.shape.date;function Ci(e,t){e.date===null!=(e.dateBasis===`unresolved`)&&t.addIssue({code:`custom`,path:[`date`],message:`Date must agree with its evidence basis`})}const wi=e.discriminatedUnion(`category`,[vi.extend({date:Si}).superRefine(Ci),yi.extend({date:Si}).superRefine(Ci)]),Ti=e.strictObject({...xi,contractVersion:e.literal(5),days:e.array(xi.days.element.extend({entries:e.array(wi)})).length(28),unassignedEntries:e.array(wi)}).superRefine((e,t)=>{for(let[n,r]of e.days.entries())r.dayNumber!==n+1&&t.addIssue({code:`custom`,path:[`days`,n,`dayNumber`],message:`Official days must be numbered in order`}),r.outcome!==kn(r.entries)&&t.addIssue({code:`custom`,path:[`days`,n],message:`Outcome must reflect landed evidence`})});function Ei(e){return Ti.parse(e)}const Di=`https://data.radarultra.com/activity/v3/latest.json`,Oi=Ti.shape,[ki,Ai]=Oi.unassignedEntries.element.options,ji=ki.safeExtend({eventId:V}),Mi=Ai.safeExtend({eventId:V}),Ni=e.discriminatedUnion(`category`,[ji,Mi]),Pi=Ti.safeExtend({days:e.array(Oi.days.element.extend({entries:e.array(Ni)})).length(28),unassignedEntries:e.array(Ni)}).superRefine((e,t)=>{Yn([...e.days.flatMap(e=>e.entries),...e.unassignedEntries],t)}),Fi={reactionCounts:or,reactionTotal:e.number().int().nonnegative()},Ii=(e,t)=>Xn(e,t,B),Li=e.discriminatedUnion(`category`,[ji.safeExtend(Fi).superRefine(Ii),Mi.safeExtend(Fi).superRefine(Ii)]),Ri=Pi.safeExtend({days:e.array(Oi.days.element.extend({entries:e.array(Li)})).length(28),unassignedEntries:e.array(Li)}),zi=U.extend({progress:Ri});async function Bi(e){return Zn(e,zi,H)}function Vi(e){return Qn(e,zi,H)}const Hi=e.discriminatedUnion(`category`,[vi,N.extend({category:e.enum([`direct_reset`,`reset_card`])})]),Ui=Mr.extend({entry:Hi}),Wi=Nr.extend({contractVersion:e.literal(3),changes:e.array(Ui)});function Gi(e){return Ui.parse(e)}function Ki(e){return Wi.parse(e)}const qi=`https://radarultra.com`,Ji=[`zh-Hans`,`zh-Hant`,`en`,`ja`,`ko`],Yi={"zh-Hans":`/zh`,"zh-Hant":`/zh-hant`,en:``,ja:`/ja`,ko:`/ko`},Xi={reset:`/codex`,improvement:`/codex/28-day-challenge`,changelog:`/codex/changelog`,models:`/codex/models`},K=e.discriminatedUnion(`product`,[e.strictObject({product:e.literal(`cli`),version:e.string().regex(/^\d+\.\d+\.\d+$/)}),e.strictObject({product:e.literal(`app`),version:e.string().regex(/^\d{2}\.\d{3,4}$/)})]),q=e.string().regex(/^(?!\.{1,2}$)[a-z0-9.-]+$/);function J(e,t){return qi+Yi[t]+Xi[e]}function Zi(e,t,n){let r=K.parse({product:e,version:t});return`${J(`changelog`,n)}/${r.product}/${r.version}`}function Qi(e,t){return`${J(`models`,t)}/${q.parse(e)}`}const $i=Object.freeze({timeZone:`America/Los_Angeles`,startDate:`2026-10-05`,endDate:`2026-11-01`}),ea=Date.parse(`${$i.startDate}T00:00:00Z`),ta=(Date.parse(`${$i.endDate}T00:00:00Z`)-ea)/864e5+1,na=new Intl.DateTimeFormat(`en-CA`,{timeZone:$i.timeZone,year:`numeric`,month:`2-digit`,day:`2-digit`});function ra(e){let t=na.formatToParts(e),n=e=>Number(t.find(t=>t.type===e).value),r=(Date.UTC(n(`year`),n(`month`)-1,n(`day`))-ea)/864e5,i=r<0?`before`:r>=ta?`ended`:`live`,a=Math.min(ta,Math.max(1,r+1));return{phase:i,today:a,ongoingDay:i===`live`?a:null}}const ia=e.enum([`reset`,`improvement`]),aa=e.array(ia).min(1).max(2).refine(e=>new Set(e).size===e.length,`notification_topic_duplicate`),oa=t=>e.url().refine(e=>Ji.some(n=>e===J(t,n)),`notification_target_url_invalid`),sa=e.discriminatedUnion(`kind`,[e.object({kind:e.literal(`reset`),webUrl:oa(`reset`),miniPath:e.literal(`pages/index/index`)}).strict(),e.object({kind:e.literal(`improvement`),webUrl:oa(`improvement`),miniPath:e.literal(`pages/index/index?page=challenge`)}).strict()]),ca=e.object({topics:aa,target:sa}).strict().refine(e=>e.topics.includes(e.target.kind),`notification_target_topic_mismatch`),la=e.enum([`reset`,`improvement`,`clue`]),ua=e.object({topics:e.array(la).min(1).max(2).refine(e=>new Set(e).size===e.length,`notification_topic_duplicate`),target:sa}).strict().refine(e=>e.topics.some(t=>(t===`clue`?`reset`:t)===e.target.kind),`notification_target_topic_mismatch`);function da(e,t){let n=fa(e===`clue`?`reset`:e,t);return ua.parse({...n,topics:[e]})}function fa(e,t){return ca.parse({topics:[e],target:{kind:e,webUrl:J(e,t),miniPath:e===`reset`?`pages/index/index`:`pages/index/index?page=challenge`}})}const pa=e.object({notificationId:e.uuid(),eventId:e.uuid(),title:e.string().trim().min(1).max(512),createdAt:e.iso.datetime(),deliverBy:e.iso.datetime(),...ca.shape}).strict().superRefine((e,t)=>{e.topics.includes(e.target.kind)||t.addIssue({code:`custom`,message:`notification_target_topic_mismatch`}),C(e.deliverBy,e.createdAt)<=0&&t.addIssue({code:`custom`,message:`notification_task_deadline_invalid`})});function ma(e,t){return C(e.createdAt,t.createdAt)||(e.notificationId<t.notificationId?-1:+(e.notificationId>t.notificationId))}const ha=`/api/v1/notification-tasks`,ga=100,_a=e.string().min(1).max(8192),va=e.object({cursor:_a.optional()}).strict(),ya=e.object({contractVersion:e.literal(1),roundCursor:_a,notifications:e.array(pa).max(100),nextCursor:_a.nullable()}).strict().superRefine((e,t)=>{new Set(e.notifications.map(e=>e.notificationId)).size!==e.notifications.length&&t.addIssue({code:`custom`,message:`notification_task_duplicate`});for(let n=1;n<e.notifications.length;n++)ma(e.notifications.at(n-1),e.notifications.at(n))>=0&&t.addIssue({code:`custom`,message:`notification_task_order_invalid`});e.nextCursor!==null&&e.notifications.length===0&&t.addIssue({code:`custom`,message:`notification_task_empty_continuation`})}),ba=`/api/browser-notifications`,xa=e.string().min(1).max(128),Sa=e.uuid(),Ca=e.enum(Ji),wa=e.strictObject({reset:e.boolean(),improvement:e.boolean()}),Ta=`[cdef][\\w-]{21}`,Ea=e.strictObject({fid:e.string().regex(RegExp(`^${Ta}$`))});function Da(e){return e.replace(RegExp(`(^|[^\\w-])${Ta}(?![\\w-])`,`g`),`$1[registration]`)}const Y={operationId:Sa,expectedRevision:xa},Oa=e.discriminatedUnion(`action`,[e.strictObject({...Y,action:e.literal(`register`),topics:wa.refine(e=>e.reset||e.improvement,`subscription_topic_required`),locale:Ca,registration:Ea}),e.strictObject({...Y,action:e.literal(`set_topics`),topics:wa}),e.strictObject({...Y,action:e.literal(`set_locale`),locale:Ca}),e.strictObject({...Y,action:e.literal(`restore`),registration:Ea}),e.strictObject({...Y,action:e.literal(`retry`)}),e.strictObject({...Y,action:e.literal(`cancel`)})]),ka=e.strictObject({operationId:Sa.optional(),expectedRevision:xa.optional()}).refine(e=>e.operationId===void 0==(e.expectedRevision===void 0),`subscription_operation_reference_incomplete`),Aa=e.strictObject({code:e.enum([`invalid_request`,`identity_unavailable`,`origin_not_allowed`,`rate_limited`,`revision_conflict`,`operation_conflict`,`registration_conflict`,`dependency_unavailable`,`provider_rejected`,`provider_rate_limited`,`provider_unavailable`,`provider_timeout`,`internal_error`]),operationId:Sa.optional(),correlationId:e.uuid(),stage:e.string().min(1).max(128),saveOutcome:e.enum([`not_saved`,`unknown`]),reasonSummary:e.string().min(1).max(2048),retryable:e.boolean(),cause:e.record(e.string(),e.unknown())}),ja=e.strictObject({id:Sa,state:e.enum([`pending`,`applied`,`rejected`,`unknown`,`superseded`,`not_found`]),error:Aa.optional()}),Ma=e.strictObject({topicSettings:e.strictObject({state:e.enum([`initial`,`saved`]),revision:xa,topics:wa,locale:Ca.nullable()}),registrationState:e.enum([`none`,`ready`,`invalid`,`changing`]),registrationKey:e.string().regex(/^[a-f0-9]{64}$/).nullable(),manualRetryRequired:e.boolean(),operation:ja.nullable()});function Na(e,t){return{topics:t.action===`register`||t.action===`set_topics`?t.topics:e.topics,locale:t.action===`register`||t.action===`set_locale`?t.locale:e.locale}}const Pa=e.strictObject({data:Ma}),Fa=e.strictObject({error:Aa});function Ia(e){return{topicSettings:{state:`initial`,revision:e,topics:{reset:!0,improvement:!1},locale:null},registrationState:`none`,registrationKey:null,manualRetryRequired:!1,operation:null}}const La=wa.extend({clue:e.boolean().default(!1)}),[Ra,za,...Ba]=Oa.options,Va=e.discriminatedUnion(`action`,[Ra.extend({topics:La.refine(e=>Object.values(e).some(Boolean),`subscription_topic_required`)}),za.extend({topics:La}),...Ba]),Ha=Ma.extend({topicSettings:Ma.shape.topicSettings.extend({topics:La})}),Ua=e.strictObject({data:Ha});function Wa(e){return Ha.parse(Ia(e))}function Ga(e){let{clue:t,...n}=e.topicSettings.topics;return Ma.parse({...e,topicSettings:{...e.topicSettings,topics:n}})}function Ka(e,t){return e.action!==`register`&&e.action!==`set_topics`?e:{...e,topics:{...e.topics,clue:e.action!==`register`&&(e.topics.reset||e.topics.improvement)&&t.clue}}}const qa=20,Ja=2*1024*1024,Ya=`/api/v1/improvements`,Xa=e.string().min(1).max(1024),[Za]=Pi.shape.unassignedEntries.element.options,Qa=Za.safeExtend({date:e.iso.date().refine(e=>e>$i.endDate,`improvement_must_follow_campaign`)}),$a=e.strictObject({}),eo=e.strictObject({challengeEnded:e.boolean(),observedAt:e.iso.datetime()}),to=e.strictObject({cursor:Xa.nullable(),limit:e.literal(20)}),no=eo.extend({entries:e.array(Qa).max(20),nextCursor:Xa.nullable()}).superRefine((e,t)=>{new Set(e.entries.map(e=>e.eventId)).size!==e.entries.length&&t.addIssue({code:`custom`,path:[`entries`],message:`Duplicate improvement identity`})}),ro=e.strictObject({eventIds:e.array(V).min(1).max(128)}),io=e.strictObject({eventIds:e.array(V).max(128)}),ao=e.strictObject({error:e.strictObject({code:e.enum([`invalid_request`,`dependency_unavailable`,`internal_error`]),message:e.string(),requestId:e.uuid(),operation:e.string(),stage:e.string(),cause:e.record(e.string(),e.unknown())})}),oo=`/tibo-source/v1/latest.json`,so=512*1024,co=e.iso.datetime({offset:!0}),lo=b.shape.noticeTimeline.element,uo=e.strictObject({contractVersion:e.literal(1),observedAt:co,check:e.strictObject({checkedAt:co,freshUntil:co,active:e.boolean()}).nullable(),latestPost:e.strictObject({authoredAt:co,sourceUrl:lo.shape.sourceUrl,sourceText:e.string(),sourceTranslations:Hr,resetRelevance:e.enum([`related`,`unrelated`,`unknown`])}).nullable()});async function fo(e){let t=e.body?.getReader();if(t===void 0)throw Error(`tibo_source_status_body_missing`,{cause:{status:e.status}});let n=[],r=0;try{for(;;){let i=await t.read();if(i.done)break;if(r+=i.value.byteLength,r>524288)throw Error(`tibo_source_status_too_large`,{cause:{status:e.status,bytes:r}});n.push(i.value)}}finally{try{await t.cancel()}catch{}t.releaseLock()}let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.byteLength;let o=new TextDecoder(`utf-8`,{fatal:!0}).decode(i);if(!e.ok)throw Error(`tibo_source_status_http_error`,{cause:{status:e.status,upstream:o.slice(0,4e3)}});return uo.parse(JSON.parse(o))}const po=`/reset-clue/v1/latest.json`,mo=4320*60*1e3,ho=r.exportUtf8Bytes,go=W.shape.noticeTimeline.element.pick({authoredAt:!0,sourceUrl:!0,sourceText:!0,sourceTranslations:!0,contentCompleteness:!0}).extend({plannedTiming:Re.nullable(),expiresAt:W.shape.noticeTimeline.element.shape.authoredAt}).strict().superRefine((e,t)=>{Date.parse(e.expiresAt)!==Date.parse(e.authoredAt)+2592e5&&t.addIssue({code:`custom`,message:`reset_clue_expiry_mismatch`,path:[`expiresAt`]})}),_o=e.strictObject({contractVersion:e.literal(1),clue:go.nullable()}),vo=e=>_o.parse(e);function yo(e,t){return e.clue!==null&&t.getTime()<Date.parse(e.clue.expiresAt)?e.clue:null}async function bo(e){let t=e.body?.getReader();if(t===void 0)throw Error(`reset_clue_body_missing`,{cause:{status:e.status}});let n=[],r=0;try{for(;;){let i=await t.read();if(i.done)break;if(r+=i.value.byteLength,r>ho)throw Error(`reset_clue_too_large`,{cause:{status:e.status,bytes:r}});n.push(i.value)}}finally{try{await t.cancel()}catch{}t.releaseLock()}let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.byteLength;let o=new TextDecoder(`utf-8`,{fatal:!0}).decode(i);if(!e.ok)throw Error(`reset_clue_http_error`,{cause:{status:e.status,upstream:o.slice(0,4e3)}});return vo(JSON.parse(o))}const X=e.enum(Ji),xo=e.string().regex(/^\d{4}-(?:0[1-9]|1[0-2])$/),Z=e.string().trim().min(1),So=e.url({protocol:/^https$/}),Q=e.discriminatedUnion(`kind`,[e.strictObject({kind:e.literal(`instant`),at:e.iso.datetime()}),e.strictObject({kind:e.literal(`date`),date:e.iso.date()})]),Co=e.strictObject({operation:Z,stage:Z,cause:Gt});function wo(t){return e.discriminatedUnion(`state`,[e.strictObject({state:e.literal(`ready`),value:t}),e.strictObject({state:e.literal(`pending`)}),e.strictObject({state:e.literal(`failed`),failure:Co})])}function To(e,t){return e.superRefine((e,n)=>{new TextEncoder().encode(JSON.stringify(e)).byteLength>t&&n.addIssue({code:`custom`,message:`publication_utf8_size_limit_exceeded`})})}async function Eo(e,t,n,r){let i=e.body?.getReader();if(i===void 0)throw Error(`${t}_body_missing`,{cause:{operation:t,stage:`read`,status:e.status}});let a=[],o=0;try{for(;;){let e=await i.read();if(e.done)break;if(o+=e.value.byteLength,o>n)throw Error(`publication_utf8_size_limit_exceeded`);a.push(e.value)}}catch(n){throw Error(`${t}_read_failed`,{cause:{operation:t,stage:`read`,status:e.status,bytes:o,cause:n}})}finally{try{await i.cancel()}catch{}i.releaseLock()}let s=new Uint8Array(o),c=0;for(let e of a)s.set(e,c),c+=e.byteLength;let l;try{l=new TextDecoder(`utf-8`,{fatal:!0}).decode(s)}catch(n){throw Error(`${t}_decode_failed`,{cause:{operation:t,stage:`decode`,status:e.status,cause:n}})}if(!e.ok)throw Error(`${t}_http_error`,{cause:{operation:t,stage:`http`,status:e.status,upstream:l.slice(0,4e3)}});try{return r.parse(JSON.parse(l))}catch(n){throw Error(`${t}_parse_failed`,{cause:{operation:t,stage:`parse`,status:e.status,cause:n}})}}const Do=`/codex-releases/v2/directory.json`,Oo=128*1024,ko=128*1024,Ao=256*1024,jo=Q,Mo={product:e.enum([`app`,`cli`]),version:Z,published:Q,month:xo,revision:Z},No=e.strictObject(Mo).superRefine(Po);function Po(e,t){let n=K.safeParse({product:e.product,version:e.version});if(!n.success)for(let e of n.error.issues)t.addIssue({...e});e.product===`cli`!=(e.published.kind===`instant`)&&t.addIssue({code:`custom`,path:[`published`],message:`product_date_precision_mismatch`}),(e.published.kind===`instant`?e.published.at:e.published.date).slice(0,7)!==e.month&&t.addIssue({code:`custom`,path:[`month`],message:`published_month_mismatch`})}function Fo(e,t){let n=new Set,r=1/0;for(let[i,a]of e.entries()){let e=`${a.product}/${a.version}`;n.has(e)&&t.addIssue({code:`custom`,path:[`releases`,i],message:`duplicate_release_identity`}),n.add(e);let o=Date.parse(a.published.kind===`instant`?a.published.at:`${a.published.date}T00:00:00Z`);o>r&&t.addIssue({code:`custom`,path:[`releases`,i],message:`release_order_mismatch`}),r=o}}const Io=To(e.strictObject({contractVersion:e.literal(2),releases:e.array(No),latest:e.strictObject({app:e.string().nullable(),cli:e.string().nullable()})}).superRefine((e,t)=>{Fo(e.releases,t);for(let n of[`app`,`cli`]){let r=e.releases.find(e=>e.product===n)?.version??null;e.latest[n]!==r&&t.addIssue({code:`custom`,path:[`latest`,n],message:`latest_release_mismatch`})}}),Oo),Lo=e.strictObject({state:e.literal(`not_applicable`),reason:e.literal(`no_curated_notes`)}),Ro=e.union([wo(e.strictObject({locale:X,points:e.array(Z).min(1).max(5)})),Lo]),zo=e.strictObject({...Mo,source:e.strictObject({kind:e.enum([`github`,`official`]),url:So}),summary:Ro,notesCount:e.number().int().nonnegative()}).superRefine((e,t)=>{Po(e,t),e.product===`cli`!=(e.source.kind===`github`)&&t.addIssue({code:`custom`,path:[`source`,`kind`],message:`product_source_mismatch`}),e.notesCount===0!=(e.summary.state===`not_applicable`)&&t.addIssue({code:`custom`,path:[`summary`],message:`curated_notes_summary_state_mismatch`})}),Bo=To(e.strictObject({contractVersion:e.literal(2),locale:X,month:xo,releases:e.array(zo)}).superRefine((e,t)=>{Fo(e.releases,t);for(let[n,r]of e.releases.entries())r.month!==e.month&&t.addIssue({code:`custom`,path:[`releases`,n,`month`],message:`file_month_mismatch`}),r.summary.state===`ready`&&r.summary.value.locale!==e.locale&&r.summary.value.locale!==`en`&&t.addIssue({code:`custom`,path:[`releases`,n,`summary`,`value`,`locale`],message:`summary_locale_mismatch`})}),ko),Vo=e.array(e.strictObject({title:Z.nullable(),items:e.array(e.strictObject({text:Z,refs:Z.nullable()})).min(1)})).min(1),Ho=To(e.strictObject({contractVersion:e.literal(2),product:e.enum([`app`,`cli`]),version:Z,revision:Z,locale:X,original:e.array(Vo.element),translation:e.union([wo(Vo),Lo]).nullable()}).superRefine((e,t)=>{let n=K.safeParse({product:e.product,version:e.version});if(!n.success)for(let e of n.error.issues)t.addIssue({...e});if(e.locale===`en`!=(e.translation===null)&&t.addIssue({code:`custom`,path:[`translation`],message:`translation_locale_mismatch`}),e.locale!==`en`&&e.original.length===0!=(e.translation?.state===`not_applicable`)&&t.addIssue({code:`custom`,path:[`translation`],message:`curated_notes_translation_state_mismatch`}),e.translation?.state===`ready`){let n=e.translation.value;(n.length!==e.original.length||e.original.some((e,t)=>{let r=n.at(t);return r===void 0||e.title===null!=(r.title===null)||e.items.length!==r.items.length||e.items.some((e,t)=>e.refs!==r.items.at(t)?.refs)}))&&t.addIssue({code:`custom`,path:[`translation`],message:`translation_structure_mismatch`})}}),Ao),Uo=e=>Io.parse(e),Wo=e=>Bo.parse(e),Go=e=>Ho.parse(e),Ko=e=>Eo(e,`codex_release_directory`,Oo,Io),qo=e=>Eo(e,`codex_release_month`,ko,Bo),Jo=e=>Eo(e,`codex_release_notes`,Ao,Ho);function Yo(e,t){return`/codex-releases/v2/${X.parse(e)}/${xo.parse(t)}.json`}function Xo(e,t,n){let r=K.parse({product:t,version:n});return`/codex-releases/v2/${X.parse(e)}/notes/${r.product}/${r.version}.json`}const Zo=128*1024;function $(t){return e.discriminatedUnion(`state`,[e.strictObject({state:e.literal(`known`),value:t,source:So}),e.strictObject({state:e.literal(`unavailable`),reason:e.enum([`not_announced`,`not_listed`]),source:So.nullable()})])}const Qo=e.strictObject({input:Z,cached:Z,output:Z}),$o=e.strictObject({modelId:q,name:Z,group:e.enum([`current`,`retired`]),status:e.enum([`available`,`retiring`,`retired`]),launched:$(Q),chatgptRetirement:$(Q),apiRetirement:$(Q),credits:$(Qo),apiPrice:$(Qo),multiple:e.string().regex(/^(?:0|[1-9]\d*)(?:\.\d+)?$/).refine(e=>Number.isFinite(Number(e))&&Number(e)>0).nullable(),plans:$(e.array(Z).min(1)),surfaces:$(e.array(Z).min(1)),about:wo(e.strictObject({locale:X,paragraphs:e.array(Z).min(1)})),sources:e.array(e.strictObject({label:Z,url:So})).min(1)}).superRefine((e,t)=>{e.status===`retired`!=(e.group===`retired`)&&t.addIssue({code:`custom`,path:[`group`],message:`model_group_status_mismatch`}),e.status===`retiring`&&e.chatgptRetirement.state!==`known`&&t.addIssue({code:`custom`,path:[`chatgptRetirement`],message:`retiring_model_requires_announced_date`})}),es=To(e.strictObject({contractVersion:e.literal(1),locale:X,models:e.array($o),multipleBase:e.strictObject({modelId:q,name:Z}).nullable(),upcomingRetirement:e.strictObject({names:Z,modelIds:e.array(q).min(1),surface:e.enum([`api`,`chatgpt`]),at:Q}).nullable()}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.models.entries())n.has(i.modelId)&&t.addIssue({code:`custom`,path:[`models`,r,`modelId`],message:`duplicate_model_identity`}),n.add(i.modelId),i.about.state===`ready`&&i.about.value.locale!==e.locale&&i.about.value.locale!==`en`&&t.addIssue({code:`custom`,path:[`models`,r,`about`,`value`,`locale`],message:`model_description_locale_mismatch`}),i.multiple!==null&&(e.multipleBase===null||i.credits.state!==`known`)&&t.addIssue({code:`custom`,path:[`models`,r,`multiple`],message:`multiple_requires_base_and_credits`});if(e.multipleBase!==null){let n=e.models.find(t=>t.modelId===e.multipleBase?.modelId);(n===void 0||n.group!==`current`||n.credits.state!==`known`||n.multiple!==`1`||n.name!==e.multipleBase.name)&&t.addIssue({code:`custom`,path:[`multipleBase`],message:`multiple_base_mismatch`})}let r=e.upcomingRetirement;if(r!==null){new Set(r.modelIds).size!==r.modelIds.length&&t.addIssue({code:`custom`,path:[`upcomingRetirement`,`modelIds`],message:`duplicate_retirement_model`});for(let n of r.modelIds){let i=e.models.find(e=>e.modelId===n),a=r.surface===`api`?i?.apiRetirement:i?.chatgptRetirement;(a?.state!==`known`||JSON.stringify(a.value)!==JSON.stringify(r.at))&&t.addIssue({code:`custom`,path:[`upcomingRetirement`],message:`retirement_model_date_mismatch`})}}}),Zo),ts=e=>es.parse(e),ns=e=>Eo(e,`codex_models`,Zo,es),rs=e=>`/codex-models/v1/${X.parse(e)}.json`;export{an as RadarResetSourceContractErrorV2,yo as activeRadarResetClue,ma as compareRadarNotificationTasks,He as compareRadarResetActionDetailsV1,C as compareRadarResetUtcTimestampsV1,da as createRadarBrowserNotificationProjection,ra as createRadarCodexProgressCalendar,fa as createRadarNotificationProjection,wn as createRadarResetSourceErrorEnvelopeV2,Dr as encodeRadarActivityFile,kr as encodeRadarActivityFileV2,Vi as encodeRadarActivityFileV3,pn as encodeRadarResetDetailMultipartV2,Or as encodeRadarTitledActivityFile,ct as formatRadarResetPositiveDecimalV2,st as formatRadarResetUInt64DecimalV2,Ia as initialRadarBrowserSubscription,Wa as initialRadarBrowserSubscriptionV2,ts as parseRadarCodexModels,Gi as parseRadarCodexProgressChangeV3,Ki as parseRadarCodexProgressChangesV3,On as parseRadarCodexProgressV1,Fn as parseRadarCodexProgressV2,Un as parseRadarCodexProgressV3,Jn as parseRadarCodexProgressV4,Ei as parseRadarCodexProgressV5,Uo as parseRadarCodexReleaseDirectory,Wo as parseRadarCodexReleaseMonth,Go as parseRadarCodexReleaseNotes,We as parseRadarResetActionDetailV1,Qr as parseRadarResetActionDetailV2,bt as parseRadarResetActionSummaryV2,Ue as parseRadarResetAnalysisV1,vo as parseRadarResetClueSnapshot,_n as parseRadarResetDetailMultipartV2,Ge as parseRadarResetExportV1,ei as parseRadarResetExportV2,Ke as parseRadarResetPendingActionV1,$r as parseRadarResetPendingActionV2,at as parseRadarResetPositiveDecimalV2,St as parseRadarResetPublicationHomeFactsV2,rn as parseRadarResetPublicationRevisionAvailableV2,Xt as parseRadarResetReadActionsRequestV2,en as parseRadarResetReadActionsSuccessV2,Zt as parseRadarResetReadChangesRequestV2,tn as parseRadarResetReadChangesSuccessV2,Qt as parseRadarResetReadDetailBatchRequestV2,Yt as parseRadarResetReadHeadRequestV2,$t as parseRadarResetReadHeadSuccessV2,oe as parseRadarResetSnapshotAvailableV1,nn as parseRadarResetSourceErrorEnvelopeV2,it as parseRadarResetUInt64DecimalV2,Na as projectRadarBrowserSubscriptionSelection,Ga as projectRadarBrowserSubscriptionV1,ti as projectRadarResetExportV1FromV2,qe as projectRadarResetPrimarySourceV1,V as radarActivityEventIdSchema,U as radarActivityFileSchema,er as radarActivityFileUrl,Cr as radarActivityFileV2Schema,tr as radarActivityFileV2Url,zi as radarActivityFileV3Schema,Di as radarActivityFileV3Url,H as radarActivityMaxBytes,ar as radarActivityProgressSchema,br as radarActivityProgressV2Schema,Pi as radarActivityProgressV3Schema,or as radarActivityReactionCountsSchema,$n as radarActivityReactionIdSchema,B as radarActivityReactionIds,ua as radarBrowserNotificationProjectionSchema,la as radarBrowserNotificationTopicSchema,Ea as radarBrowserRegistrationSchema,Fa as radarBrowserSubscriptionErrorRes,Aa as radarBrowserSubscriptionFailureSchema,ja as radarBrowserSubscriptionOperationSchema,ka as radarBrowserSubscriptionReadReq,Pa as radarBrowserSubscriptionRes,Oa as radarBrowserSubscriptionSaveReq,Va as radarBrowserSubscriptionSaveV2Req,Ua as radarBrowserSubscriptionV2Res,Ma as radarBrowserSubscriptionViewSchema,Ha as radarBrowserSubscriptionViewV2Schema,ba as radarBrowserSubscriptionsPath,wa as radarBrowserTopicsSchema,La as radarBrowserTopicsV2Schema,Ir as radarCodexGuessChoiceSchema,Vr as radarCodexGuessErrorSchema,Lr as radarCodexGuessSaveReqSchema,Br as radarCodexGuessViewSchema,q as radarCodexModelIdSchema,Qi as radarCodexModelUrl,Zo as radarCodexModelsMaxBytes,rs as radarCodexModelsPath,es as radarCodexModelsSchema,$i as radarCodexProgressCalendar,Ar as radarCodexProgressChangeSchema,Mr as radarCodexProgressChangeV2Schema,Ui as radarCodexProgressChangeV3Schema,jr as radarCodexProgressChangesV1Schema,Nr as radarCodexProgressChangesV2Schema,Wi as radarCodexProgressChangesV3Schema,N as radarCodexProgressEntrySchema,Ln as radarCodexProgressEntryV3Schema,bi as radarCodexProgressEntryV5Schema,vi as radarCodexProgressImprovementV5Schema,mi as radarCodexProgressPostRoleV5Schema,hi as radarCodexProgressPostV5Schema,gi as radarCodexProgressPostsV5Schema,yi as radarCodexProgressResetEntryV5Schema,Hn as radarCodexProgressScore,L as radarCodexProgressTitleV3Schema,P as radarCodexProgressV1Schema,An as radarCodexProgressV2MaxBytes,I as radarCodexProgressV2Schema,In as radarCodexProgressV3MaxBytes,R as radarCodexProgressV3Schema,Wn as radarCodexProgressV4MaxBytes,z as radarCodexProgressV4Schema,_i as radarCodexProgressV5MaxBytes,Ti as radarCodexProgressV5Schema,Oo as radarCodexReleaseDirectoryMaxBytes,Do as radarCodexReleaseDirectoryPath,Io as radarCodexReleaseDirectorySchema,K as radarCodexReleaseIdentitySchema,ko as radarCodexReleaseMonthMaxBytes,Yo as radarCodexReleaseMonthPath,Bo as radarCodexReleaseMonthSchema,Ao as radarCodexReleaseNotesMaxBytes,Xo as radarCodexReleaseNotesPath,Ho as radarCodexReleaseNotesSchema,Vo as radarCodexReleaseSectionsSchema,Zi as radarCodexReleaseUrl,jo as radarCodexTimePointSchema,Ya as radarImprovementColumnPath,ro as radarImprovementEligibilityReq,io as radarImprovementEligibilityRes,Qa as radarImprovementEntrySchema,ao as radarImprovementErrorRes,$a as radarImprovementHeadReq,eo as radarImprovementHeadRes,Ja as radarImprovementPageMaxBytes,to as radarImprovementPageReq,no as radarImprovementPageRes,qa as radarImprovementPageSize,ca as radarNotificationProjectionSchema,sa as radarNotificationTargetSchema,ga as radarNotificationTaskPageSize,pa as radarNotificationTaskSchema,ha as radarNotificationTasksPath,va as radarNotificationTasksReq,ya as radarNotificationTasksRes,ia as radarNotificationTopicSchema,aa as radarNotificationTopicsSchema,b as radarResetActionDetailV1Schema,W as radarResetActionDetailV2Schema,Dt as radarResetActionItemV2Schema,Ze as radarResetActionPageMaxBytesV2,Xe as radarResetActionPageMaxItemsV2,yt as radarResetActionSummaryV2Schema,Tt as radarResetActiveActionItemV2Schema,Pe as radarResetAnalysisV1Schema,n as radarResetAnalyzerContractVersionV1,s as radarResetAudienceValues,Ft as radarResetChangeCoverageV2Schema,$e as radarResetChangePageMaxBytesV2,Qe as radarResetChangePageMaxItemsV2,mo as radarResetClueLifetimeMs,ho as radarResetClueMaxBytes,po as radarResetCluePath,go as radarResetClueSchema,_o as radarResetClueSnapshotSchema,t as radarResetContractVersionV1,Je as radarResetContractVersionV2,tt as radarResetDetailBatchMaxBytesV2,et as radarResetDetailBatchMaxChunksV2,Ct as radarResetDetailChunkReferenceV2Schema,jt as radarResetDetailChunkRequestV2Schema,wt as radarResetDetailManifestV2Schema,a as radarResetEffectValues,S as radarResetExportV1Schema,Zr as radarResetExportV2Schema,di as radarResetManagementActionSchema,ai as radarResetManagementOperationSchema,fi as radarResetManagementResSchema,ui as radarResetManualApplyReqSchema,ii as radarResetManualCopySchema,oi as radarResetManualDraftSchema,ci as radarResetManualDraftSeedSchema,si as radarResetManualPreviewReqSchema,li as radarResetManualPreviewResSchema,pi as radarResetManualResultResSchema,Le as radarResetNoticeKindValues,x as radarResetPendingActionV1Schema,Xr as radarResetPendingActionV2Schema,c as radarResetPlanValues,w as radarResetPositiveDecimalV2Schema,o as radarResetProductValues,r as radarResetPublicDataLimits,E as radarResetPublicIdV2Schema,xt as radarResetPublicationHomeFactsV2Schema,Jt as radarResetPublicationRevisionAvailableV2Schema,Re as radarResetPublicationTimingSchema,Lt as radarResetReadActionsDataV2Schema,kt as radarResetReadActionsRequestV2Schema,Vt as radarResetReadActionsSuccessV2Schema,Rt as radarResetReadChangesDataV2Schema,At as radarResetReadChangesRequestV2Schema,Ht as radarResetReadChangesSuccessV2Schema,Mt as radarResetReadDetailBatchRequestV2Schema,It as radarResetReadHeadDataV2Schema,Ot as radarResetReadHeadRequestV2Schema,Bt as radarResetReadHeadSuccessV2Schema,ee as radarResetReasonBasisValues,l as radarResetReasonCategoryValues,Gt as radarResetSafeCauseSnapshotV2Schema,i as radarResetSeriesValues,D as radarResetSha256V2Schema,ae as radarResetSnapshotAvailableV1Schema,Pt as radarResetSourceChangeV2Schema,Ut as radarResetSourceErrorCodeValuesV2,qt as radarResetSourceErrorEnvelopeV2Schema,Cn as radarResetSourceErrorHttpStatusV2,Sn as radarResetSourceErrorIsRetryableV2,Kt as radarResetSourceErrorV2Schema,Ye as radarResetSourceMaxRpcCallsV2,Hr as radarResetSourceTranslationsSchema,rt as radarResetUInt64DecimalV2Schema,ot as radarResetUInt64DecimalV2ToBigInt,T as radarResetUtcTimestampV2Schema,Et as radarResetWithdrawnActionItemV2Schema,so as radarTiboSourceStatusMaxBytes,oo as radarTiboSourceStatusPath,uo as radarTiboSourceStatusSchema,_r as radarTitledActivityFileSchema,mr as radarTitledActivityProgressSchema,Yi as radarWebsiteLocalePrefixes,Ji as radarWebsiteLocales,qi as radarWebsiteOrigin,Xi as radarWebsitePagePaths,J as radarWebsitePageUrl,wr as readRadarActivityFile,Er as readRadarActivityFileV2,Bi as readRadarActivityFileV3,ns as readRadarCodexModels,Ko as readRadarCodexReleaseDirectory,qo as readRadarCodexReleaseMonth,Jo as readRadarCodexReleaseNotes,bo as readRadarResetClueSnapshot,fo as readRadarTiboSourceStatus,Tr as readRadarTitledActivityFile,Da as redactRadarBrowserRegistrationReferences,xn as toSafeCauseSnapshotV2,Ka as upgradeRadarBrowserSubscriptionCommandV1};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@closerepo/radar-contracts",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {