@read-frog/api-contract 0.23.0 → 0.25.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
@@ -1,7 +1,6 @@
1
1
  import { ContractRouterClient, ErrorMap, Route } from "@orpc/contract";
2
2
  import { z } from "zod";
3
3
  import { CardState, ReviewRating, SRS_REVIEW_DURATION_MS_MAX, ScheduleStatus, SchedulingParams, cardStateSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema } from "@read-frog/definitions";
4
- //#region src/contracts/shared.d.ts
5
4
  /**
6
5
  * A documented business route shared by OpenAPI and agent-facing adapters.
7
6
  * Both prose fields are required so adapters can reuse them without a second
@@ -24,8 +23,6 @@ export declare function defineAgentProcedure(route: AgentRoute): import("@orpc/c
24
23
  summary: string;
25
24
  description: string;
26
25
  } & Record<never, never>>;
27
- //#endregion
28
- //#region src/public-errors.d.ts
29
26
  export declare const CellValidationFailureReasonSchema: z.ZodEnum<{
30
27
  invalid_date_format: "invalid_date_format";
31
28
  invalid_select_option: "invalid_select_option";
@@ -101,6 +98,8 @@ export declare const HostedAiQuotaExhaustedDataSchema: z.ZodObject<{
101
98
  "custom-action-guest-daily-v1": "custom-action-guest-daily-v1";
102
99
  "custom-action-pro-daily-v1": "custom-action-pro-daily-v1";
103
100
  "custom-action-user-daily-v1": "custom-action-user-daily-v1";
101
+ "pro-weekly-v1": "pro-weekly-v1";
102
+ "pro-weekly-v2": "pro-weekly-v2";
104
103
  "ultra-weekly-v1": "ultra-weekly-v1";
105
104
  }>;
106
105
  usedPercent: z.ZodNumber;
@@ -147,6 +146,8 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
147
146
  "custom-action-guest-daily-v1": "custom-action-guest-daily-v1";
148
147
  "custom-action-pro-daily-v1": "custom-action-pro-daily-v1";
149
148
  "custom-action-user-daily-v1": "custom-action-user-daily-v1";
149
+ "pro-weekly-v1": "pro-weekly-v1";
150
+ "pro-weekly-v2": "pro-weekly-v2";
150
151
  "ultra-weekly-v1": "ultra-weekly-v1";
151
152
  }>;
152
153
  usedPercent: z.ZodNumber;
@@ -263,6 +264,10 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
263
264
  readonly message: "A subscription change is already scheduled";
264
265
  readonly status: 409;
265
266
  };
267
+ readonly BILLING_CHECKOUT_CONFLICT: {
268
+ readonly message: "Please start a new checkout from the pricing page";
269
+ readonly status: 409;
270
+ };
266
271
  readonly CARD_NOT_REVIEWABLE: {
267
272
  readonly message: "Card cannot be reviewed in its current state";
268
273
  readonly status: 409;
@@ -295,6 +300,22 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
295
300
  readonly message: "Card status change is unavailable";
296
301
  readonly status: 409;
297
302
  };
303
+ readonly RESCHEDULE_PLAN_EXPIRED: {
304
+ readonly message: "The reschedule plan has expired; preview it again";
305
+ readonly status: 409;
306
+ };
307
+ readonly RESCHEDULE_STALE: {
308
+ readonly message: "Cards changed after the reschedule preview; preview it again";
309
+ readonly status: 409;
310
+ };
311
+ readonly RESCHEDULE_PREVIEW_TIMEOUT: {
312
+ readonly message: "Planning the reschedule took too long";
313
+ readonly status: 503;
314
+ };
315
+ readonly RESCHEDULE_DAILY_LIMIT_INVALID: {
316
+ readonly message: "The daily limit is outside the range a reschedule may suggest";
317
+ readonly status: 422;
318
+ };
298
319
  readonly NOTEBASE_VIEW_NOT_FOUND: {
299
320
  readonly message: "Notebase view not found";
300
321
  readonly status: 404;
@@ -328,10 +349,6 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
328
349
  readonly message: "Concurrent position conflict, please retry";
329
350
  readonly status: 409;
330
351
  };
331
- readonly EBOOK_BETA_RESTRICTED: {
332
- readonly message: "Ebooks are currently in beta for selected accounts";
333
- readonly status: 403;
334
- };
335
352
  readonly EBOOK_NOT_FOUND: {
336
353
  readonly message: "Ebook not found";
337
354
  readonly status: 404;
@@ -348,10 +365,123 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
348
365
  readonly message: "Ebook upload has not been completed";
349
366
  readonly status: 409;
350
367
  };
368
+ readonly MEDIA_BETA_RESTRICTED: {
369
+ readonly message: "Media uploads are currently in beta for selected accounts";
370
+ readonly status: 403;
371
+ };
372
+ readonly MEDIA_NOT_FOUND: {
373
+ readonly message: "Media file not found";
374
+ readonly status: 404;
375
+ };
376
+ readonly MEDIA_FILE_TOO_LARGE: {
377
+ readonly message: "Media file exceeds the maximum allowed size";
378
+ readonly status: 413;
379
+ };
380
+ readonly MEDIA_QUOTA_EXCEEDED: {
381
+ readonly message: "Not enough media storage space left on your plan";
382
+ readonly status: 403;
383
+ };
384
+ readonly MEDIA_UPLOAD_NOT_COMPLETED: {
385
+ readonly message: "Media upload has not been completed";
386
+ readonly status: 409;
387
+ };
351
388
  readonly EMAIL_LINK_INVALID: {
352
389
  readonly message: "This email link is not valid";
353
390
  readonly status: 400;
354
391
  };
392
+ readonly PDF_TRANSLATION_UNAVAILABLE: {
393
+ readonly message: "PDF translation is not available right now";
394
+ readonly status: 503;
395
+ };
396
+ readonly PDF_TRANSLATION_NOT_FOUND: {
397
+ readonly message: "PDF translation not found";
398
+ readonly status: 404;
399
+ };
400
+ readonly PDF_TRANSLATION_UPLOAD_NOT_FOUND: {
401
+ readonly data: z.ZodObject<{
402
+ uploadId: z.ZodUUID;
403
+ jobId: z.ZodOptional<z.ZodUUID>;
404
+ }, z.core.$strict>;
405
+ readonly message: "PDF upload not found";
406
+ readonly status: 404;
407
+ };
408
+ readonly PDF_TRANSLATION_UPLOAD_EXPIRED: {
409
+ readonly data: z.ZodObject<{
410
+ uploadId: z.ZodUUID;
411
+ jobId: z.ZodOptional<z.ZodUUID>;
412
+ }, z.core.$strict>;
413
+ readonly message: "The PDF upload has expired; upload the file again";
414
+ readonly status: 410;
415
+ };
416
+ readonly PDF_TRANSLATION_UPLOAD_NOT_COMPLETED: {
417
+ readonly data: z.ZodObject<{
418
+ uploadId: z.ZodUUID;
419
+ jobId: z.ZodOptional<z.ZodUUID>;
420
+ }, z.core.$strict>;
421
+ readonly message: "The PDF upload has not been completed";
422
+ readonly status: 409;
423
+ };
424
+ readonly PDF_TRANSLATION_FILE_TOO_LARGE: {
425
+ readonly message: "The PDF exceeds the maximum allowed size";
426
+ readonly status: 413;
427
+ };
428
+ readonly PDF_TRANSLATION_INVALID_PDF: {
429
+ readonly data: z.ZodObject<{
430
+ uploadId: z.ZodUUID;
431
+ jobId: z.ZodOptional<z.ZodUUID>;
432
+ }, z.core.$strict>;
433
+ readonly message: "The file is not a readable PDF";
434
+ readonly status: 422;
435
+ };
436
+ readonly PDF_TRANSLATION_ALREADY_TRANSLATED: {
437
+ readonly data: z.ZodObject<{
438
+ uploadId: z.ZodUUID;
439
+ jobId: z.ZodOptional<z.ZodUUID>;
440
+ }, z.core.$strict>;
441
+ readonly message: "This PDF is already a translation; upload the original instead";
442
+ readonly status: 422;
443
+ };
444
+ readonly PDF_TRANSLATION_PAGE_LIMIT_EXCEEDED: {
445
+ readonly data: z.ZodObject<{
446
+ uploadId: z.ZodUUID;
447
+ jobId: z.ZodOptional<z.ZodUUID>;
448
+ }, z.core.$strict>;
449
+ readonly message: "The PDF has more pages than one translation allows";
450
+ readonly status: 422;
451
+ };
452
+ readonly PDF_TRANSLATION_QUEUE_FULL: {
453
+ readonly message: "Too many PDF translations are waiting; try again when some have finished";
454
+ readonly status: 409;
455
+ };
456
+ readonly PDF_TRANSLATION_IDEMPOTENCY_CONFLICT: {
457
+ readonly message: "This idempotency key was already used for a different PDF translation";
458
+ readonly status: 409;
459
+ };
460
+ readonly PDF_TRANSLATION_INSUFFICIENT_CREDIT: {
461
+ readonly data: z.ZodObject<{
462
+ estimatedCostNanoUsd: z.ZodNumber;
463
+ remainingNanoUsd: z.ZodNumber;
464
+ resetAt: z.ZodNullable<z.ZodISODateTime>;
465
+ }, z.core.$strict>;
466
+ readonly message: "Not enough Built-in AI credit left to translate this PDF";
467
+ readonly status: 429;
468
+ };
469
+ readonly PDF_TRANSLATION_NOT_CANCELLABLE: {
470
+ readonly message: "This PDF translation has already finished";
471
+ readonly status: 409;
472
+ };
473
+ readonly PDF_TRANSLATION_NOT_READY: {
474
+ readonly message: "The translated PDF is not available";
475
+ readonly status: 409;
476
+ };
477
+ readonly PDF_TRANSLATION_DOWNLOAD_RESTRICTED: {
478
+ readonly message: "Downloading a translated PDF needs a Pro or Ultra plan";
479
+ readonly status: 403;
480
+ };
481
+ readonly PDF_TRANSLATION_NOT_DELETABLE: {
482
+ readonly message: "Cancel this PDF translation before deleting it";
483
+ readonly status: 409;
484
+ };
355
485
  };
356
486
  export type PublicAppErrorCode = keyof typeof PUBLIC_APP_ERROR_DEFS;
357
487
  export type PublicAppErrorData<TCode extends PublicAppErrorCode> = (typeof PUBLIC_APP_ERROR_DEFS)[TCode] extends {
@@ -395,6 +525,8 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
395
525
  "custom-action-guest-daily-v1": "custom-action-guest-daily-v1";
396
526
  "custom-action-pro-daily-v1": "custom-action-pro-daily-v1";
397
527
  "custom-action-user-daily-v1": "custom-action-user-daily-v1";
528
+ "pro-weekly-v1": "pro-weekly-v1";
529
+ "pro-weekly-v2": "pro-weekly-v2";
398
530
  "ultra-weekly-v1": "ultra-weekly-v1";
399
531
  }>;
400
532
  usedPercent: z.ZodNumber;
@@ -511,6 +643,10 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
511
643
  readonly message: "A subscription change is already scheduled";
512
644
  readonly status: 409;
513
645
  };
646
+ readonly BILLING_CHECKOUT_CONFLICT: {
647
+ readonly message: "Please start a new checkout from the pricing page";
648
+ readonly status: 409;
649
+ };
514
650
  readonly CARD_NOT_REVIEWABLE: {
515
651
  readonly message: "Card cannot be reviewed in its current state";
516
652
  readonly status: 409;
@@ -543,6 +679,22 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
543
679
  readonly message: "Card status change is unavailable";
544
680
  readonly status: 409;
545
681
  };
682
+ readonly RESCHEDULE_PLAN_EXPIRED: {
683
+ readonly message: "The reschedule plan has expired; preview it again";
684
+ readonly status: 409;
685
+ };
686
+ readonly RESCHEDULE_STALE: {
687
+ readonly message: "Cards changed after the reschedule preview; preview it again";
688
+ readonly status: 409;
689
+ };
690
+ readonly RESCHEDULE_PREVIEW_TIMEOUT: {
691
+ readonly message: "Planning the reschedule took too long";
692
+ readonly status: 503;
693
+ };
694
+ readonly RESCHEDULE_DAILY_LIMIT_INVALID: {
695
+ readonly message: "The daily limit is outside the range a reschedule may suggest";
696
+ readonly status: 422;
697
+ };
546
698
  readonly NOTEBASE_VIEW_NOT_FOUND: {
547
699
  readonly message: "Notebase view not found";
548
700
  readonly status: 404;
@@ -576,10 +728,6 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
576
728
  readonly message: "Concurrent position conflict, please retry";
577
729
  readonly status: 409;
578
730
  };
579
- readonly EBOOK_BETA_RESTRICTED: {
580
- readonly message: "Ebooks are currently in beta for selected accounts";
581
- readonly status: 403;
582
- };
583
731
  readonly EBOOK_NOT_FOUND: {
584
732
  readonly message: "Ebook not found";
585
733
  readonly status: 404;
@@ -596,14 +744,125 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
596
744
  readonly message: "Ebook upload has not been completed";
597
745
  readonly status: 409;
598
746
  };
747
+ readonly MEDIA_BETA_RESTRICTED: {
748
+ readonly message: "Media uploads are currently in beta for selected accounts";
749
+ readonly status: 403;
750
+ };
751
+ readonly MEDIA_NOT_FOUND: {
752
+ readonly message: "Media file not found";
753
+ readonly status: 404;
754
+ };
755
+ readonly MEDIA_FILE_TOO_LARGE: {
756
+ readonly message: "Media file exceeds the maximum allowed size";
757
+ readonly status: 413;
758
+ };
759
+ readonly MEDIA_QUOTA_EXCEEDED: {
760
+ readonly message: "Not enough media storage space left on your plan";
761
+ readonly status: 403;
762
+ };
763
+ readonly MEDIA_UPLOAD_NOT_COMPLETED: {
764
+ readonly message: "Media upload has not been completed";
765
+ readonly status: 409;
766
+ };
599
767
  readonly EMAIL_LINK_INVALID: {
600
768
  readonly message: "This email link is not valid";
601
769
  readonly status: 400;
602
770
  };
771
+ readonly PDF_TRANSLATION_UNAVAILABLE: {
772
+ readonly message: "PDF translation is not available right now";
773
+ readonly status: 503;
774
+ };
775
+ readonly PDF_TRANSLATION_NOT_FOUND: {
776
+ readonly message: "PDF translation not found";
777
+ readonly status: 404;
778
+ };
779
+ readonly PDF_TRANSLATION_UPLOAD_NOT_FOUND: {
780
+ readonly data: z.ZodObject<{
781
+ uploadId: z.ZodUUID;
782
+ jobId: z.ZodOptional<z.ZodUUID>;
783
+ }, z.core.$strict>;
784
+ readonly message: "PDF upload not found";
785
+ readonly status: 404;
786
+ };
787
+ readonly PDF_TRANSLATION_UPLOAD_EXPIRED: {
788
+ readonly data: z.ZodObject<{
789
+ uploadId: z.ZodUUID;
790
+ jobId: z.ZodOptional<z.ZodUUID>;
791
+ }, z.core.$strict>;
792
+ readonly message: "The PDF upload has expired; upload the file again";
793
+ readonly status: 410;
794
+ };
795
+ readonly PDF_TRANSLATION_UPLOAD_NOT_COMPLETED: {
796
+ readonly data: z.ZodObject<{
797
+ uploadId: z.ZodUUID;
798
+ jobId: z.ZodOptional<z.ZodUUID>;
799
+ }, z.core.$strict>;
800
+ readonly message: "The PDF upload has not been completed";
801
+ readonly status: 409;
802
+ };
803
+ readonly PDF_TRANSLATION_FILE_TOO_LARGE: {
804
+ readonly message: "The PDF exceeds the maximum allowed size";
805
+ readonly status: 413;
806
+ };
807
+ readonly PDF_TRANSLATION_INVALID_PDF: {
808
+ readonly data: z.ZodObject<{
809
+ uploadId: z.ZodUUID;
810
+ jobId: z.ZodOptional<z.ZodUUID>;
811
+ }, z.core.$strict>;
812
+ readonly message: "The file is not a readable PDF";
813
+ readonly status: 422;
814
+ };
815
+ readonly PDF_TRANSLATION_ALREADY_TRANSLATED: {
816
+ readonly data: z.ZodObject<{
817
+ uploadId: z.ZodUUID;
818
+ jobId: z.ZodOptional<z.ZodUUID>;
819
+ }, z.core.$strict>;
820
+ readonly message: "This PDF is already a translation; upload the original instead";
821
+ readonly status: 422;
822
+ };
823
+ readonly PDF_TRANSLATION_PAGE_LIMIT_EXCEEDED: {
824
+ readonly data: z.ZodObject<{
825
+ uploadId: z.ZodUUID;
826
+ jobId: z.ZodOptional<z.ZodUUID>;
827
+ }, z.core.$strict>;
828
+ readonly message: "The PDF has more pages than one translation allows";
829
+ readonly status: 422;
830
+ };
831
+ readonly PDF_TRANSLATION_QUEUE_FULL: {
832
+ readonly message: "Too many PDF translations are waiting; try again when some have finished";
833
+ readonly status: 409;
834
+ };
835
+ readonly PDF_TRANSLATION_IDEMPOTENCY_CONFLICT: {
836
+ readonly message: "This idempotency key was already used for a different PDF translation";
837
+ readonly status: 409;
838
+ };
839
+ readonly PDF_TRANSLATION_INSUFFICIENT_CREDIT: {
840
+ readonly data: z.ZodObject<{
841
+ estimatedCostNanoUsd: z.ZodNumber;
842
+ remainingNanoUsd: z.ZodNumber;
843
+ resetAt: z.ZodNullable<z.ZodISODateTime>;
844
+ }, z.core.$strict>;
845
+ readonly message: "Not enough Built-in AI credit left to translate this PDF";
846
+ readonly status: 429;
847
+ };
848
+ readonly PDF_TRANSLATION_NOT_CANCELLABLE: {
849
+ readonly message: "This PDF translation has already finished";
850
+ readonly status: 409;
851
+ };
852
+ readonly PDF_TRANSLATION_NOT_READY: {
853
+ readonly message: "The translated PDF is not available";
854
+ readonly status: 409;
855
+ };
856
+ readonly PDF_TRANSLATION_DOWNLOAD_RESTRICTED: {
857
+ readonly message: "Downloading a translated PDF needs a Pro or Ultra plan";
858
+ readonly status: 403;
859
+ };
860
+ readonly PDF_TRANSLATION_NOT_DELETABLE: {
861
+ readonly message: "Cancel this PDF translation before deleting it";
862
+ readonly status: 409;
863
+ };
603
864
  }[TCode];
604
865
  export declare function pickPublicErrorMap<const TCodes extends readonly PublicAppErrorCode[]>(...codes: TCodes): Pick<ErrorMap, TCodes[number]>;
605
- //#endregion
606
- //#region src/schemas/app-locale.d.ts
607
866
  /**
608
867
  * The languages the website is in (`project.inlang/settings.json`; a test in
609
868
  * apps/www keeps the two in step). Used wherever the server writes for a
@@ -621,8 +880,6 @@ export declare const appLocaleSchema: z.ZodEnum<{
621
880
  "zh-TW": "zh-TW";
622
881
  }>;
623
882
  export type AppLocale = z.infer<typeof appLocaleSchema>;
624
- //#endregion
625
- //#region src/schemas/billing.d.ts
626
883
  export declare const billingIntervalSchema: z.ZodEnum<{
627
884
  month: "month";
628
885
  year: "year";
@@ -660,6 +917,21 @@ export declare const MCP_DAILY_CALL_LIMITS: {
660
917
  readonly pro: 50;
661
918
  readonly ultra: null;
662
919
  };
920
+ /**
921
+ * How many ebooks each plan may keep at once. Free keeps one, so it reads one
922
+ * book at a time; deleting a book frees its place for the next.
923
+ *
924
+ * Read by the API's upload gate AND by the website's copy (the pricing page),
925
+ * so the pages cannot promise books the server refuses.
926
+ *
927
+ * Companion edit when this changes: `account-and-plans` under
928
+ * `apps/www/content/docs/`, which states the numbers.
929
+ */
930
+ export declare const EBOOK_LIMIT_BY_PLAN: {
931
+ readonly free: 1;
932
+ readonly pro: 10;
933
+ readonly ultra: 80;
934
+ };
663
935
  export declare const billingCheckoutPlanSchema: z.ZodEnum<{
664
936
  pro: "pro";
665
937
  ultra: "ultra";
@@ -795,6 +1067,77 @@ export declare const billingCreateCheckoutSessionInputSchema: z.ZodObject<{
795
1067
  pro: "pro";
796
1068
  ultra: "ultra";
797
1069
  }>>;
1070
+ requestId: z.ZodOptional<z.ZodUUID>;
1071
+ attribution: z.ZodOptional<z.ZodObject<{
1072
+ journeyId: z.ZodUUID;
1073
+ actual: z.ZodObject<{
1074
+ entry: z.ZodEnum<{
1075
+ billing_settings: "billing_settings";
1076
+ content_link: "content_link";
1077
+ direct: "direct";
1078
+ ebook_limit: "ebook_limit";
1079
+ ebook_upload_gate: "ebook_upload_gate";
1080
+ extension_notebase_limit: "extension_notebase_limit";
1081
+ extension_plan_badge: "extension_plan_badge";
1082
+ extension_quota_exhausted: "extension_quota_exhausted";
1083
+ extension_upgrade: "extension_upgrade";
1084
+ extension_video_quota: "extension_video_quota";
1085
+ featurebase_banner: "featurebase_banner";
1086
+ mcp_limit: "mcp_limit";
1087
+ notebase_header: "notebase_header";
1088
+ notebase_limit: "notebase_limit";
1089
+ pdf_download_gate: "pdf_download_gate";
1090
+ pdf_free_trial_card: "pdf_free_trial_card";
1091
+ pdf_trial_exhausted: "pdf_trial_exhausted";
1092
+ pdf_upgrade_notice: "pdf_upgrade_notice";
1093
+ pdf_watermark_preview: "pdf_watermark_preview";
1094
+ site_footer: "site_footer";
1095
+ site_nav: "site_nav";
1096
+ unknown: "unknown";
1097
+ }>;
1098
+ occurredAt: z.ZodISODateTime;
1099
+ campaign: z.ZodOptional<z.ZodString>;
1100
+ sourceRoute: z.ZodOptional<z.ZodString>;
1101
+ }, z.core.$strict>;
1102
+ lastNonDirect: z.ZodOptional<z.ZodObject<{
1103
+ entry: z.ZodEnum<{
1104
+ billing_settings: "billing_settings";
1105
+ content_link: "content_link";
1106
+ direct: "direct";
1107
+ ebook_limit: "ebook_limit";
1108
+ ebook_upload_gate: "ebook_upload_gate";
1109
+ extension_notebase_limit: "extension_notebase_limit";
1110
+ extension_plan_badge: "extension_plan_badge";
1111
+ extension_quota_exhausted: "extension_quota_exhausted";
1112
+ extension_upgrade: "extension_upgrade";
1113
+ extension_video_quota: "extension_video_quota";
1114
+ featurebase_banner: "featurebase_banner";
1115
+ mcp_limit: "mcp_limit";
1116
+ notebase_header: "notebase_header";
1117
+ notebase_limit: "notebase_limit";
1118
+ pdf_download_gate: "pdf_download_gate";
1119
+ pdf_free_trial_card: "pdf_free_trial_card";
1120
+ pdf_trial_exhausted: "pdf_trial_exhausted";
1121
+ pdf_upgrade_notice: "pdf_upgrade_notice";
1122
+ pdf_watermark_preview: "pdf_watermark_preview";
1123
+ site_footer: "site_footer";
1124
+ site_nav: "site_nav";
1125
+ unknown: "unknown";
1126
+ }>;
1127
+ occurredAt: z.ZodISODateTime;
1128
+ campaign: z.ZodOptional<z.ZodString>;
1129
+ sourceRoute: z.ZodOptional<z.ZodString>;
1130
+ }, z.core.$strict>>;
1131
+ acquisition: z.ZodOptional<z.ZodObject<{
1132
+ occurredAt: z.ZodISODateTime;
1133
+ utmSource: z.ZodOptional<z.ZodString>;
1134
+ utmMedium: z.ZodOptional<z.ZodString>;
1135
+ utmCampaign: z.ZodOptional<z.ZodString>;
1136
+ utmContent: z.ZodOptional<z.ZodString>;
1137
+ utmTerm: z.ZodOptional<z.ZodString>;
1138
+ referrerDomain: z.ZodOptional<z.ZodString>;
1139
+ }, z.core.$strict>>;
1140
+ }, z.core.$strict>>;
798
1141
  }, z.core.$strict>;
799
1142
  export type BillingCreateCheckoutSessionInput = z.infer<typeof billingCreateCheckoutSessionInputSchema>;
800
1143
  export declare const billingCreateCustomerPortalSessionInputSchema: z.ZodObject<{
@@ -819,8 +1162,6 @@ export declare const billingCancelScheduledChangeOutputSchema: z.ZodObject<{
819
1162
  success: z.ZodLiteral<true>;
820
1163
  }, z.core.$strict>;
821
1164
  export type BillingCancelScheduledChangeOutput = z.infer<typeof billingCancelScheduledChangeOutputSchema>;
822
- //#endregion
823
- //#region src/schemas/card.d.ts
824
1165
  export declare const cardTemplateSchema: z.ZodObject<{
825
1166
  id: z.ZodUUID;
826
1167
  notebaseId: z.ZodUUID;
@@ -1275,8 +1616,6 @@ export declare const CardGenerateOutputSchema: z.ZodObject<{
1275
1616
  txid: z.ZodNumber;
1276
1617
  }, z.core.$strip>;
1277
1618
  export type CardGenerateOutput = z.infer<typeof CardGenerateOutputSchema>;
1278
- //#endregion
1279
- //#region src/schemas/ebook.d.ts
1280
1619
  export declare const ebookStatusSchema: z.ZodEnum<{
1281
1620
  pending: "pending";
1282
1621
  ready: "ready";
@@ -1390,6 +1729,7 @@ export declare const ebookRequestUploadInputSchema: z.ZodObject<{
1390
1729
  }>;
1391
1730
  byteSize: z.ZodNumber;
1392
1731
  }, z.core.$strict>>;
1732
+ uploadKey: z.ZodOptional<z.ZodUUID>;
1393
1733
  }, z.core.$strict>;
1394
1734
  export type EbookRequestUploadInput = z.infer<typeof ebookRequestUploadInputSchema>;
1395
1735
  /**
@@ -1499,8 +1839,6 @@ export declare const ebookDeleteOutputSchema: z.ZodObject<{
1499
1839
  id: z.ZodUUID;
1500
1840
  }, z.core.$strict>;
1501
1841
  export type EbookDeleteOutput = z.infer<typeof ebookDeleteOutputSchema>;
1502
- //#endregion
1503
- //#region src/schemas/email-preferences.d.ts
1504
1842
  /** A category's key, such as `promotions`. */
1505
1843
  export declare const emailCategoryKeySchema: z.ZodString;
1506
1844
  export type EmailCategoryKey = z.infer<typeof emailCategoryKeySchema>;
@@ -1515,6 +1853,34 @@ export declare const emailCategoryStateSchema: z.ZodObject<{
1515
1853
  subscribed: z.ZodBoolean;
1516
1854
  }, z.core.$strict>;
1517
1855
  export type EmailCategoryState = z.infer<typeof emailCategoryStateSchema>;
1856
+ /**
1857
+ * The category whose emails a person can time: Practice reminders, seeded as
1858
+ * `practice` (packages/db's migration 0067). The settings page shows the
1859
+ * time under its switch.
1860
+ */
1861
+ export declare const PRACTICE_REMINDER_CATEGORY_KEY = "practice";
1862
+ /**
1863
+ * When practice reminders reach someone who never chose a time: 18:00 in
1864
+ * their own time zone. The page shows it as the choice until one is made;
1865
+ * Ribbit's reminder automation sets the same as its own time, for people
1866
+ * without one (docs/ribbit/phase-3-automations.md).
1867
+ */
1868
+ export declare const PRACTICE_REMINDER_DEFAULT_TIME = "18:00";
1869
+ /** A time of day on the hour, `HH:00`: Ribbit takes people into a schedule once an hour. */
1870
+ export declare const practiceReminderTimeSchema: z.ZodString;
1871
+ export type PracticeReminderTime = z.infer<typeof practiceReminderTimeSchema>;
1872
+ /** The times the page offers: every hour of the day. */
1873
+ export declare const PRACTICE_REMINDER_TIMES: readonly PracticeReminderTime[];
1874
+ /**
1875
+ * The reminders area of `user_preferences`, as the database holds it: what
1876
+ * is not there, or no longer reads, is the default. `practiceTime` is the
1877
+ * practice reminder's time of day, in the person's own zone; null until they
1878
+ * choose one.
1879
+ */
1880
+ export declare const remindersPreferencesSchema: z.ZodObject<{
1881
+ practiceTime: z.ZodDefault<z.ZodCatch<z.ZodNullable<z.ZodString>>>;
1882
+ }, z.core.$strip>;
1883
+ export type RemindersPreferences = z.infer<typeof remindersPreferencesSchema>;
1518
1884
  export declare const emailPreferencesStateSchema: z.ZodObject<{
1519
1885
  categories: z.ZodArray<z.ZodObject<{
1520
1886
  key: z.ZodString;
@@ -1525,6 +1891,7 @@ export declare const emailPreferencesStateSchema: z.ZodObject<{
1525
1891
  subscribed: z.ZodBoolean;
1526
1892
  }, z.core.$strict>>;
1527
1893
  unsubscribedAll: z.ZodBoolean;
1894
+ practiceReminderTime: z.ZodNullable<z.ZodString>;
1528
1895
  }, z.core.$strict>;
1529
1896
  export type EmailPreferencesState = z.infer<typeof emailPreferencesStateSchema>;
1530
1897
  /**
@@ -1541,6 +1908,7 @@ export declare const emailPreferencesByTokenStateSchema: z.ZodObject<{
1541
1908
  subscribed: z.ZodBoolean;
1542
1909
  }, z.core.$strict>>;
1543
1910
  unsubscribedAll: z.ZodBoolean;
1911
+ practiceReminderTime: z.ZodNullable<z.ZodString>;
1544
1912
  maskedEmail: z.ZodString;
1545
1913
  highlightCategory: z.ZodNullable<z.ZodString>;
1546
1914
  }, z.core.$strict>;
@@ -1562,6 +1930,7 @@ export type EmailPreferencesGetInput = z.infer<typeof emailPreferencesGetInputSc
1562
1930
  export declare const emailPreferencesUpdateInputSchema: z.ZodObject<{
1563
1931
  categories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1564
1932
  unsubscribedAll: z.ZodOptional<z.ZodBoolean>;
1933
+ practiceReminderTime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1565
1934
  locale: z.ZodEnum<{
1566
1935
  en: "en";
1567
1936
  es: "es";
@@ -1593,6 +1962,7 @@ export type EmailPreferencesGetByTokenInput = z.infer<typeof emailPreferencesGet
1593
1962
  export declare const emailPreferencesUpdateByTokenInputSchema: z.ZodObject<{
1594
1963
  categories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1595
1964
  unsubscribedAll: z.ZodOptional<z.ZodBoolean>;
1965
+ practiceReminderTime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1596
1966
  token: z.ZodString;
1597
1967
  locale: z.ZodEnum<{
1598
1968
  en: "en";
@@ -1607,27 +1977,23 @@ export declare const emailPreferencesUpdateByTokenInputSchema: z.ZodObject<{
1607
1977
  }>;
1608
1978
  }, z.core.$strict>;
1609
1979
  export type EmailPreferencesUpdateByTokenInput = z.infer<typeof emailPreferencesUpdateByTokenInputSchema>;
1610
- //#endregion
1611
- //#region src/schemas/feature-access.d.ts
1612
1980
  export declare const GatedFeatureKeySchema: z.ZodEnum<{
1613
- ebook: "ebook";
1981
+ media: "media";
1614
1982
  }>;
1615
1983
  export type GatedFeatureKey = z.infer<typeof GatedFeatureKeySchema>;
1616
1984
  export declare const FeatureAccessStatusInputSchema: z.ZodObject<{
1617
1985
  featureKey: z.ZodEnum<{
1618
- ebook: "ebook";
1986
+ media: "media";
1619
1987
  }>;
1620
1988
  }, z.core.$strict>;
1621
1989
  export type FeatureAccessStatusInput = z.infer<typeof FeatureAccessStatusInputSchema>;
1622
1990
  export declare const FeatureAccessStatusOutputSchema: z.ZodObject<{
1623
1991
  featureKey: z.ZodEnum<{
1624
- ebook: "ebook";
1992
+ media: "media";
1625
1993
  }>;
1626
1994
  allowed: z.ZodBoolean;
1627
1995
  }, z.core.$strip>;
1628
1996
  export type FeatureAccessStatusOutput = z.infer<typeof FeatureAccessStatusOutputSchema>;
1629
- //#endregion
1630
- //#region src/schemas/hosted-ai.d.ts
1631
1997
  export declare const HostedAiOutputFieldTypeSchema: z.ZodEnum<{
1632
1998
  number: "number";
1633
1999
  string: "string";
@@ -1662,6 +2028,7 @@ export declare const HostedAiFeatureSchema: z.ZodEnum<{
1662
2028
  languageDetection: "languageDetection";
1663
2029
  noteSuggestion: "noteSuggestion";
1664
2030
  pageTranslation: "pageTranslation";
2031
+ pdfTranslation: "pdfTranslation";
1665
2032
  selectionTranslation: "selectionTranslation";
1666
2033
  videoSubtitles: "videoSubtitles";
1667
2034
  }>;
@@ -1772,6 +2139,8 @@ export declare const HostedAiCreditPolicyIdSchema: z.ZodEnum<{
1772
2139
  "custom-action-guest-daily-v1": "custom-action-guest-daily-v1";
1773
2140
  "custom-action-pro-daily-v1": "custom-action-pro-daily-v1";
1774
2141
  "custom-action-user-daily-v1": "custom-action-user-daily-v1";
2142
+ "pro-weekly-v1": "pro-weekly-v1";
2143
+ "pro-weekly-v2": "pro-weekly-v2";
1775
2144
  "ultra-weekly-v1": "ultra-weekly-v1";
1776
2145
  }>;
1777
2146
  export declare const HostedAiCreditPeriodKindSchema: z.ZodEnum<{
@@ -1825,6 +2194,7 @@ export declare const HostedAiRecurringCreditStatusSchema: z.ZodObject<{
1825
2194
  languageDetection: "languageDetection";
1826
2195
  noteSuggestion: "noteSuggestion";
1827
2196
  pageTranslation: "pageTranslation";
2197
+ pdfTranslation: "pdfTranslation";
1828
2198
  selectionTranslation: "selectionTranslation";
1829
2199
  videoSubtitles: "videoSubtitles";
1830
2200
  }>>;
@@ -1846,6 +2216,7 @@ export declare const HostedAiOneTimeCreditStatusSchema: z.ZodObject<{
1846
2216
  languageDetection: "languageDetection";
1847
2217
  noteSuggestion: "noteSuggestion";
1848
2218
  pageTranslation: "pageTranslation";
2219
+ pdfTranslation: "pdfTranslation";
1849
2220
  selectionTranslation: "selectionTranslation";
1850
2221
  videoSubtitles: "videoSubtitles";
1851
2222
  }>>;
@@ -1868,6 +2239,7 @@ export declare const HostedAiCreditPoolStatusSchema: z.ZodDiscriminatedUnion<[z.
1868
2239
  languageDetection: "languageDetection";
1869
2240
  noteSuggestion: "noteSuggestion";
1870
2241
  pageTranslation: "pageTranslation";
2242
+ pdfTranslation: "pdfTranslation";
1871
2243
  selectionTranslation: "selectionTranslation";
1872
2244
  videoSubtitles: "videoSubtitles";
1873
2245
  }>>;
@@ -1881,10 +2253,58 @@ export declare const HostedAiCreditPoolStatusSchema: z.ZodDiscriminatedUnion<[z.
1881
2253
  languageDetection: "languageDetection";
1882
2254
  noteSuggestion: "noteSuggestion";
1883
2255
  pageTranslation: "pageTranslation";
2256
+ pdfTranslation: "pdfTranslation";
1884
2257
  selectionTranslation: "selectionTranslation";
1885
2258
  videoSubtitles: "videoSubtitles";
1886
2259
  }>>;
1887
2260
  }, z.core.$strict>], "periodKind">;
2261
+ /** Feature-scoped credit display, separate from the legacy extension status shape. */
2262
+ export declare const HostedAiCreditPoolsInputSchema: z.ZodObject<{
2263
+ feature: z.ZodEnum<{
2264
+ customAction: "customAction";
2265
+ inputTranslation: "inputTranslation";
2266
+ languageDetection: "languageDetection";
2267
+ noteSuggestion: "noteSuggestion";
2268
+ pageTranslation: "pageTranslation";
2269
+ pdfTranslation: "pdfTranslation";
2270
+ selectionTranslation: "selectionTranslation";
2271
+ videoSubtitles: "videoSubtitles";
2272
+ }>;
2273
+ }, z.core.$strict>;
2274
+ export declare const HostedAiCreditPoolsOutputSchema: z.ZodObject<{
2275
+ pools: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2276
+ periodKind: z.ZodEnum<{
2277
+ daily: "daily";
2278
+ weekly: "weekly";
2279
+ }>;
2280
+ usedPercent: z.ZodNumber;
2281
+ resetAt: z.ZodNullable<z.ZodISODateTime>;
2282
+ features: z.ZodArray<z.ZodEnum<{
2283
+ customAction: "customAction";
2284
+ inputTranslation: "inputTranslation";
2285
+ languageDetection: "languageDetection";
2286
+ noteSuggestion: "noteSuggestion";
2287
+ pageTranslation: "pageTranslation";
2288
+ pdfTranslation: "pdfTranslation";
2289
+ selectionTranslation: "selectionTranslation";
2290
+ videoSubtitles: "videoSubtitles";
2291
+ }>>;
2292
+ }, z.core.$strict>, z.ZodObject<{
2293
+ periodKind: z.ZodLiteral<"once">;
2294
+ usedPercent: z.ZodNumber;
2295
+ expiresAt: z.ZodISODateTime;
2296
+ features: z.ZodArray<z.ZodEnum<{
2297
+ customAction: "customAction";
2298
+ inputTranslation: "inputTranslation";
2299
+ languageDetection: "languageDetection";
2300
+ noteSuggestion: "noteSuggestion";
2301
+ pageTranslation: "pageTranslation";
2302
+ pdfTranslation: "pdfTranslation";
2303
+ selectionTranslation: "selectionTranslation";
2304
+ videoSubtitles: "videoSubtitles";
2305
+ }>>;
2306
+ }, z.core.$strict>], "periodKind">>;
2307
+ }, z.core.$strict>;
1888
2308
  export declare const HostedAiTierStatusSchema: z.ZodObject<{
1889
2309
  accessAllowed: z.ZodBoolean;
1890
2310
  available: z.ZodBoolean;
@@ -1952,6 +2372,7 @@ export declare const HostedAiStatusOutputSchema: z.ZodObject<{
1952
2372
  languageDetection: "languageDetection";
1953
2373
  noteSuggestion: "noteSuggestion";
1954
2374
  pageTranslation: "pageTranslation";
2375
+ pdfTranslation: "pdfTranslation";
1955
2376
  selectionTranslation: "selectionTranslation";
1956
2377
  videoSubtitles: "videoSubtitles";
1957
2378
  }>>;
@@ -1969,6 +2390,7 @@ export declare const HostedAiStatusOutputSchema: z.ZodObject<{
1969
2390
  languageDetection: "languageDetection";
1970
2391
  noteSuggestion: "noteSuggestion";
1971
2392
  pageTranslation: "pageTranslation";
2393
+ pdfTranslation: "pdfTranslation";
1972
2394
  selectionTranslation: "selectionTranslation";
1973
2395
  videoSubtitles: "videoSubtitles";
1974
2396
  }>>;
@@ -1982,6 +2404,7 @@ export declare const HostedAiStatusOutputSchema: z.ZodObject<{
1982
2404
  languageDetection: "languageDetection";
1983
2405
  noteSuggestion: "noteSuggestion";
1984
2406
  pageTranslation: "pageTranslation";
2407
+ pdfTranslation: "pdfTranslation";
1985
2408
  selectionTranslation: "selectionTranslation";
1986
2409
  videoSubtitles: "videoSubtitles";
1987
2410
  }>>;
@@ -2263,8 +2686,136 @@ export type HostedAiCreditPoolStatus = z.infer<typeof HostedAiCreditPoolStatusSc
2263
2686
  export type HostedAiTierStatus = z.infer<typeof HostedAiTierStatusSchema>;
2264
2687
  export type HostedAiFeatureStatus = z.infer<typeof HostedAiFeatureStatusSchema>;
2265
2688
  export type HostedAiStatusOutput = z.infer<typeof HostedAiStatusOutputSchema>;
2266
- //#endregion
2267
- //#region src/schemas/mastery-goal.d.ts
2689
+ export declare const mediaContentTypeSchema: z.ZodEnum<{
2690
+ "audio/mp4": "audio/mp4";
2691
+ "audio/mpeg": "audio/mpeg";
2692
+ "audio/wav": "audio/wav";
2693
+ "image/jpeg": "image/jpeg";
2694
+ "image/png": "image/png";
2695
+ "image/webp": "image/webp";
2696
+ }>;
2697
+ export type MediaContentType = z.infer<typeof mediaContentTypeSchema>;
2698
+ export declare const mediaAssetStatusSchema: z.ZodEnum<{
2699
+ failed: "failed";
2700
+ pending: "pending";
2701
+ processing: "processing";
2702
+ ready: "ready";
2703
+ }>;
2704
+ export type MediaAssetStatus = z.infer<typeof mediaAssetStatusSchema>;
2705
+ /** Why the worker rejected an upload. */
2706
+ export declare const mediaFailureCodeSchema: z.ZodEnum<{
2707
+ audio_too_long: "audio_too_long";
2708
+ file_too_large: "file_too_large";
2709
+ image_too_large: "image_too_large";
2710
+ invalid_file: "invalid_file";
2711
+ processing_failed: "processing_failed";
2712
+ quota_exceeded: "quota_exceeded";
2713
+ unsupported_format: "unsupported_format";
2714
+ }>;
2715
+ export type MediaFailureCode = z.infer<typeof mediaFailureCodeSchema>;
2716
+ export declare const mediaAssetMetadataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2717
+ kind: z.ZodLiteral<"image">;
2718
+ width: z.ZodNumber;
2719
+ height: z.ZodNumber;
2720
+ }, z.core.$strict>, z.ZodObject<{
2721
+ kind: z.ZodLiteral<"audio">;
2722
+ durationMs: z.ZodNumber;
2723
+ }, z.core.$strict>], "kind">;
2724
+ export declare const mediaAssetSchema: z.ZodObject<{
2725
+ id: z.ZodUUID;
2726
+ uri: z.ZodNullable<z.ZodString>;
2727
+ status: z.ZodEnum<{
2728
+ failed: "failed";
2729
+ pending: "pending";
2730
+ processing: "processing";
2731
+ ready: "ready";
2732
+ }>;
2733
+ contentType: z.ZodNullable<z.ZodString>;
2734
+ fileByteSize: z.ZodNumber;
2735
+ metadata: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
2736
+ kind: z.ZodLiteral<"image">;
2737
+ width: z.ZodNumber;
2738
+ height: z.ZodNumber;
2739
+ }, z.core.$strict>, z.ZodObject<{
2740
+ kind: z.ZodLiteral<"audio">;
2741
+ durationMs: z.ZodNumber;
2742
+ }, z.core.$strict>], "kind">>;
2743
+ failureCode: z.ZodNullable<z.ZodEnum<{
2744
+ audio_too_long: "audio_too_long";
2745
+ file_too_large: "file_too_large";
2746
+ image_too_large: "image_too_large";
2747
+ invalid_file: "invalid_file";
2748
+ processing_failed: "processing_failed";
2749
+ quota_exceeded: "quota_exceeded";
2750
+ unsupported_format: "unsupported_format";
2751
+ }>>;
2752
+ createdAt: z.ZodCoercedDate<unknown>;
2753
+ }, z.core.$strict>;
2754
+ export type MediaAsset = z.infer<typeof mediaAssetSchema>;
2755
+ export declare const mediaRequestUploadInputSchema: z.ZodObject<{
2756
+ contentType: z.ZodEnum<{
2757
+ "audio/mp4": "audio/mp4";
2758
+ "audio/mpeg": "audio/mpeg";
2759
+ "audio/wav": "audio/wav";
2760
+ "image/jpeg": "image/jpeg";
2761
+ "image/png": "image/png";
2762
+ "image/webp": "image/webp";
2763
+ }>;
2764
+ byteSize: z.ZodNumber;
2765
+ }, z.core.$strict>;
2766
+ export type MediaRequestUploadInput = z.infer<typeof mediaRequestUploadInputSchema>;
2767
+ export declare const mediaRequestUploadOutputSchema: z.ZodObject<{
2768
+ assetId: z.ZodUUID;
2769
+ upload: z.ZodObject<{
2770
+ url: z.ZodURL;
2771
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
2772
+ }, z.core.$strict>;
2773
+ expiresAt: z.ZodCoercedDate<unknown>;
2774
+ }, z.core.$strict>;
2775
+ export type MediaRequestUploadOutput = z.infer<typeof mediaRequestUploadOutputSchema>;
2776
+ export declare const mediaAssetIdInputSchema: z.ZodObject<{
2777
+ id: z.ZodUUID;
2778
+ }, z.core.$strict>;
2779
+ export type MediaAssetIdInput = z.infer<typeof mediaAssetIdInputSchema>;
2780
+ export declare const mediaAssetOutputSchema: z.ZodObject<{
2781
+ asset: z.ZodObject<{
2782
+ id: z.ZodUUID;
2783
+ uri: z.ZodNullable<z.ZodString>;
2784
+ status: z.ZodEnum<{
2785
+ failed: "failed";
2786
+ pending: "pending";
2787
+ processing: "processing";
2788
+ ready: "ready";
2789
+ }>;
2790
+ contentType: z.ZodNullable<z.ZodString>;
2791
+ fileByteSize: z.ZodNumber;
2792
+ metadata: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
2793
+ kind: z.ZodLiteral<"image">;
2794
+ width: z.ZodNumber;
2795
+ height: z.ZodNumber;
2796
+ }, z.core.$strict>, z.ZodObject<{
2797
+ kind: z.ZodLiteral<"audio">;
2798
+ durationMs: z.ZodNumber;
2799
+ }, z.core.$strict>], "kind">>;
2800
+ failureCode: z.ZodNullable<z.ZodEnum<{
2801
+ audio_too_long: "audio_too_long";
2802
+ file_too_large: "file_too_large";
2803
+ image_too_large: "image_too_large";
2804
+ invalid_file: "invalid_file";
2805
+ processing_failed: "processing_failed";
2806
+ quota_exceeded: "quota_exceeded";
2807
+ unsupported_format: "unsupported_format";
2808
+ }>>;
2809
+ createdAt: z.ZodCoercedDate<unknown>;
2810
+ }, z.core.$strict>;
2811
+ }, z.core.$strict>;
2812
+ export type MediaAssetOutput = z.infer<typeof mediaAssetOutputSchema>;
2813
+ export declare const mediaUsageOutputSchema: z.ZodObject<{
2814
+ usedBytes: z.ZodNumber;
2815
+ reservedBytes: z.ZodNumber;
2816
+ limitBytes: z.ZodNumber;
2817
+ }, z.core.$strict>;
2818
+ export type MediaUsageOutput = z.infer<typeof mediaUsageOutputSchema>;
2268
2819
  export declare const MASTERY_GOAL_TARGET_MAX = 1000000;
2269
2820
  /** How many mastered cards to aim for: the cards `stats.srsMemoryGrowth` counts. */
2270
2821
  export declare const masteryGoalTargetSchema: z.ZodNumber;
@@ -2279,8 +2830,6 @@ export declare const masteryGoalOutputSchema: z.ZodObject<{
2279
2830
  target: z.ZodNullable<z.ZodNumber>;
2280
2831
  }, z.core.$strict>;
2281
2832
  export type MasteryGoalOutput = z.infer<typeof masteryGoalOutputSchema>;
2282
- //#endregion
2283
- //#region src/schemas/mcp-connection.d.ts
2284
2833
  export declare const mcpConnectionSchema: z.ZodObject<{
2285
2834
  clientId: z.ZodString;
2286
2835
  clientName: z.ZodNullable<z.ZodString>;
@@ -2307,8 +2856,17 @@ export type McpConnectionRevokeInput = z.infer<typeof mcpConnectionRevokeInputSc
2307
2856
  export declare const mcpConnectionRevokeOutputSchema: z.ZodObject<{
2308
2857
  clientId: z.ZodString;
2309
2858
  }, z.core.$strict>;
2310
- //#endregion
2311
- //#region src/schemas/notebase.d.ts
2859
+ /**
2860
+ * How many MCP tool calls the caller has used of their plan's
2861
+ * `MCP_DAILY_CALL_LIMITS`, read without counting one. The window is 24 hours
2862
+ * from the first call in it, not a calendar day.
2863
+ */
2864
+ export declare const mcpCallUsageSchema: z.ZodObject<{
2865
+ usedCalls: z.ZodNumber;
2866
+ limit: z.ZodNullable<z.ZodNumber>;
2867
+ resetAt: z.ZodNullable<z.ZodISODateTime>;
2868
+ }, z.core.$strict>;
2869
+ export type McpCallUsage = z.infer<typeof mcpCallUsageSchema>;
2312
2870
  export declare const NotebaseListInputSchema: z.ZodObject<{}, z.core.$strip>;
2313
2871
  export type NotebaseListInput = z.infer<typeof NotebaseListInputSchema>;
2314
2872
  export declare const notebaseSummarySchema: z.ZodObject<{
@@ -2345,6 +2903,11 @@ export declare const notebaseSchema: z.ZodObject<{
2345
2903
  "FSRS-7": "FSRS-7";
2346
2904
  }>;
2347
2905
  srsSleepingAt: z.ZodNullable<z.ZodDate>;
2906
+ srsSleepSource: z.ZodNullable<z.ZodEnum<{
2907
+ agent: "agent";
2908
+ auto: "auto";
2909
+ manual: "manual";
2910
+ }>>;
2348
2911
  createdAt: z.ZodDate;
2349
2912
  updatedAt: z.ZodDate;
2350
2913
  }, z.core.$strip>;
@@ -2453,6 +3016,11 @@ export declare const NotebaseCreateOutputSchema: z.ZodObject<{
2453
3016
  "FSRS-7": "FSRS-7";
2454
3017
  }>;
2455
3018
  srsSleepingAt: z.ZodNullable<z.ZodDate>;
3019
+ srsSleepSource: z.ZodNullable<z.ZodEnum<{
3020
+ agent: "agent";
3021
+ auto: "auto";
3022
+ manual: "manual";
3023
+ }>>;
2456
3024
  createdAt: z.ZodDate;
2457
3025
  updatedAt: z.ZodDate;
2458
3026
  }, z.core.$strip>;
@@ -2494,6 +3062,11 @@ export declare const NotebaseUpdateOutputSchema: z.ZodObject<{
2494
3062
  "FSRS-7": "FSRS-7";
2495
3063
  }>;
2496
3064
  srsSleepingAt: z.ZodNullable<z.ZodDate>;
3065
+ srsSleepSource: z.ZodNullable<z.ZodEnum<{
3066
+ agent: "agent";
3067
+ auto: "auto";
3068
+ manual: "manual";
3069
+ }>>;
2497
3070
  createdAt: z.ZodDate;
2498
3071
  updatedAt: z.ZodDate;
2499
3072
  }, z.core.$strip>;
@@ -2558,6 +3131,11 @@ export declare const NotebaseGetOutputSchema: z.ZodObject<{
2558
3131
  "FSRS-7": "FSRS-7";
2559
3132
  }>;
2560
3133
  srsSleepingAt: z.ZodNullable<z.ZodDate>;
3134
+ srsSleepSource: z.ZodNullable<z.ZodEnum<{
3135
+ agent: "agent";
3136
+ auto: "auto";
3137
+ manual: "manual";
3138
+ }>>;
2561
3139
  createdAt: z.ZodCoercedDate<unknown>;
2562
3140
  updatedAt: z.ZodCoercedDate<unknown>;
2563
3141
  notebaseColumns: z.ZodArray<z.ZodObject<{
@@ -2664,8 +3242,6 @@ export declare const NotebaseGetSchemaOutputSchema: z.ZodObject<{
2664
3242
  }, z.core.$strip>>;
2665
3243
  }, z.core.$strip>;
2666
3244
  export type NotebaseGetSchemaOutput = z.infer<typeof NotebaseGetSchemaOutputSchema>;
2667
- //#endregion
2668
- //#region src/schemas/notebase-column.d.ts
2669
3245
  export declare const notebaseColumnWidthSchema: z.ZodNumber;
2670
3246
  export declare const notebaseColumnSchema: z.ZodObject<{
2671
3247
  id: z.ZodString;
@@ -2918,8 +3494,6 @@ export declare const NotebaseColumnReorderOutputSchema: z.ZodObject<{
2918
3494
  txid: z.ZodNumber;
2919
3495
  }, z.core.$strip>;
2920
3496
  export type NotebaseColumnReorderOutput = z.infer<typeof NotebaseColumnReorderOutputSchema>;
2921
- //#endregion
2922
- //#region src/schemas/notebase-row.d.ts
2923
3497
  export declare const notebaseRowCellsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2924
3498
  export declare const notebaseRowSchema: z.ZodObject<{
2925
3499
  id: z.ZodString;
@@ -3079,8 +3653,6 @@ export declare const NotebaseRowGetOutputSchema: z.ZodObject<{
3079
3653
  createdAt: z.ZodCoercedDate<unknown>;
3080
3654
  updatedAt: z.ZodCoercedDate<unknown>;
3081
3655
  }, z.core.$strip>;
3082
- //#endregion
3083
- //#region src/schemas/notebase-stats.d.ts
3084
3656
  export declare const notebaseActivityStatsItemSchema: z.ZodObject<{
3085
3657
  date: z.ZodISODate;
3086
3658
  notes: z.ZodNumber;
@@ -3106,8 +3678,6 @@ export declare const notebaseRowGrowthStatsOutputSchema: z.ZodObject<{
3106
3678
  }, z.core.$strict>>;
3107
3679
  }, z.core.$strict>;
3108
3680
  export type NotebaseRowGrowthStatsOutput = z.infer<typeof notebaseRowGrowthStatsOutputSchema>;
3109
- //#endregion
3110
- //#region src/schemas/notebase-view.d.ts
3111
3681
  export declare const notebaseViewTypeSchema: z.ZodEnum<{
3112
3682
  gallery: "gallery";
3113
3683
  kanban: "kanban";
@@ -3220,8 +3790,313 @@ export declare const notebaseViewSchema: z.ZodObject<{
3220
3790
  updatedAt: z.ZodCoercedDate<unknown>;
3221
3791
  }, z.core.$strip>;
3222
3792
  export type NotebaseView = z.infer<typeof notebaseViewSchema>;
3223
- //#endregion
3224
- //#region src/schemas/speech.d.ts
3793
+ export declare const pdfTranslationJobStatusSchema: z.ZodEnum<{
3794
+ cancel_requested: "cancel_requested";
3795
+ cancelled: "cancelled";
3796
+ expired: "expired";
3797
+ failed: "failed";
3798
+ queued: "queued";
3799
+ running: "running";
3800
+ succeeded: "succeeded";
3801
+ }>;
3802
+ export type PdfTranslationJobStatus = z.infer<typeof pdfTranslationJobStatusSchema>;
3803
+ /**
3804
+ * The two PDFs one translation makes: the translation alone, with the
3805
+ * original's layout, and the original and translated pages side by side.
3806
+ */
3807
+ export declare const pdfTranslationOutputVariantSchema: z.ZodEnum<{
3808
+ bilingual: "bilingual";
3809
+ translated: "translated";
3810
+ }>;
3811
+ export type PdfTranslationOutputVariant = z.infer<typeof pdfTranslationOutputVariantSchema>;
3812
+ export declare const pdfTranslationRequestUploadInputSchema: z.ZodObject<{
3813
+ fileName: z.ZodString;
3814
+ fileByteSize: z.ZodNumber;
3815
+ }, z.core.$strict>;
3816
+ export type PdfTranslationRequestUploadInput = z.infer<typeof pdfTranslationRequestUploadInputSchema>;
3817
+ export declare const pdfTranslationRequestUploadOutputSchema: z.ZodObject<{
3818
+ uploadId: z.ZodUUID;
3819
+ upload: z.ZodObject<{
3820
+ url: z.ZodURL;
3821
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
3822
+ }, z.core.$strict>;
3823
+ expiresAt: z.ZodCoercedDate<unknown>;
3824
+ }, z.core.$strict>;
3825
+ export type PdfTranslationRequestUploadOutput = z.infer<typeof pdfTranslationRequestUploadOutputSchema>;
3826
+ export declare const pdfTranslationSubmitInputSchema: z.ZodObject<{
3827
+ uploadIds: z.ZodArray<z.ZodUUID>;
3828
+ idempotencyKey: z.ZodString;
3829
+ targetLanguage: z.ZodString;
3830
+ modelTier: z.ZodEnum<{
3831
+ advance: "advance";
3832
+ normal: "normal";
3833
+ }>;
3834
+ }, z.core.$strict>;
3835
+ export type PdfTranslationSubmitInput = z.infer<typeof pdfTranslationSubmitInputSchema>;
3836
+ export declare const pdfTranslationJobIdInputSchema: z.ZodObject<{
3837
+ id: z.ZodUUID;
3838
+ }, z.core.$strict>;
3839
+ export type PdfTranslationJobIdInput = z.infer<typeof pdfTranslationJobIdInputSchema>;
3840
+ export declare const pdfTranslationOutputInputSchema: z.ZodObject<{
3841
+ id: z.ZodUUID;
3842
+ variant: z.ZodEnum<{
3843
+ bilingual: "bilingual";
3844
+ translated: "translated";
3845
+ }>;
3846
+ }, z.core.$strict>;
3847
+ export type PdfTranslationOutputInput = z.infer<typeof pdfTranslationOutputInputSchema>;
3848
+ export declare const pdfTranslationListInputSchema: z.ZodObject<{}, z.core.$strict>;
3849
+ export type PdfTranslationListInput = z.infer<typeof pdfTranslationListInputSchema>;
3850
+ export declare const pdfTranslationJobResourceSchema: z.ZodObject<{
3851
+ id: z.ZodUUID;
3852
+ status: z.ZodEnum<{
3853
+ cancel_requested: "cancel_requested";
3854
+ cancelled: "cancelled";
3855
+ expired: "expired";
3856
+ failed: "failed";
3857
+ queued: "queued";
3858
+ running: "running";
3859
+ succeeded: "succeeded";
3860
+ }>;
3861
+ sourceFileName: z.ZodString;
3862
+ targetLanguage: z.ZodString;
3863
+ modelTier: z.ZodEnum<{
3864
+ advance: "advance";
3865
+ normal: "normal";
3866
+ }>;
3867
+ batchId: z.ZodUUID;
3868
+ batchPosition: z.ZodNumber;
3869
+ waitingAhead: z.ZodNullable<z.ZodNumber>;
3870
+ freeTrial: z.ZodBoolean;
3871
+ outputs: z.ZodObject<{
3872
+ translated: z.ZodBoolean;
3873
+ bilingual: z.ZodBoolean;
3874
+ }, z.core.$strict>;
3875
+ pageCount: z.ZodNumber;
3876
+ progressStage: z.ZodNullable<z.ZodString>;
3877
+ progressPercent: z.ZodNumber;
3878
+ estimatedCostNanoUsd: z.ZodNumber;
3879
+ chargedCostNanoUsd: z.ZodNumber;
3880
+ error: z.ZodNullable<z.ZodObject<{
3881
+ category: z.ZodString;
3882
+ message: z.ZodString;
3883
+ }, z.core.$strict>>;
3884
+ workerRelease: z.ZodNullable<z.ZodString>;
3885
+ createdAt: z.ZodCoercedDate<unknown>;
3886
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3887
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3888
+ outputExpiresAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3889
+ }, z.core.$strict>;
3890
+ export type PdfTranslationJobResource = z.infer<typeof pdfTranslationJobResourceSchema>;
3891
+ export declare const pdfTranslationListOutputSchema: z.ZodObject<{
3892
+ items: z.ZodArray<z.ZodObject<{
3893
+ id: z.ZodUUID;
3894
+ status: z.ZodEnum<{
3895
+ cancel_requested: "cancel_requested";
3896
+ cancelled: "cancelled";
3897
+ expired: "expired";
3898
+ failed: "failed";
3899
+ queued: "queued";
3900
+ running: "running";
3901
+ succeeded: "succeeded";
3902
+ }>;
3903
+ sourceFileName: z.ZodString;
3904
+ targetLanguage: z.ZodString;
3905
+ modelTier: z.ZodEnum<{
3906
+ advance: "advance";
3907
+ normal: "normal";
3908
+ }>;
3909
+ batchId: z.ZodUUID;
3910
+ batchPosition: z.ZodNumber;
3911
+ waitingAhead: z.ZodNullable<z.ZodNumber>;
3912
+ freeTrial: z.ZodBoolean;
3913
+ outputs: z.ZodObject<{
3914
+ translated: z.ZodBoolean;
3915
+ bilingual: z.ZodBoolean;
3916
+ }, z.core.$strict>;
3917
+ pageCount: z.ZodNumber;
3918
+ progressStage: z.ZodNullable<z.ZodString>;
3919
+ progressPercent: z.ZodNumber;
3920
+ estimatedCostNanoUsd: z.ZodNumber;
3921
+ chargedCostNanoUsd: z.ZodNumber;
3922
+ error: z.ZodNullable<z.ZodObject<{
3923
+ category: z.ZodString;
3924
+ message: z.ZodString;
3925
+ }, z.core.$strict>>;
3926
+ workerRelease: z.ZodNullable<z.ZodString>;
3927
+ createdAt: z.ZodCoercedDate<unknown>;
3928
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3929
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3930
+ outputExpiresAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3931
+ }, z.core.$strict>>;
3932
+ }, z.core.$strict>;
3933
+ export type PdfTranslationListOutput = z.infer<typeof pdfTranslationListOutputSchema>;
3934
+ /** What a submission made: its batch, and one job per PDF in their order. */
3935
+ export declare const pdfTranslationSubmitOutputSchema: z.ZodObject<{
3936
+ batchId: z.ZodUUID;
3937
+ jobs: z.ZodArray<z.ZodObject<{
3938
+ id: z.ZodUUID;
3939
+ status: z.ZodEnum<{
3940
+ cancel_requested: "cancel_requested";
3941
+ cancelled: "cancelled";
3942
+ expired: "expired";
3943
+ failed: "failed";
3944
+ queued: "queued";
3945
+ running: "running";
3946
+ succeeded: "succeeded";
3947
+ }>;
3948
+ sourceFileName: z.ZodString;
3949
+ targetLanguage: z.ZodString;
3950
+ modelTier: z.ZodEnum<{
3951
+ advance: "advance";
3952
+ normal: "normal";
3953
+ }>;
3954
+ batchId: z.ZodUUID;
3955
+ batchPosition: z.ZodNumber;
3956
+ waitingAhead: z.ZodNullable<z.ZodNumber>;
3957
+ freeTrial: z.ZodBoolean;
3958
+ outputs: z.ZodObject<{
3959
+ translated: z.ZodBoolean;
3960
+ bilingual: z.ZodBoolean;
3961
+ }, z.core.$strict>;
3962
+ pageCount: z.ZodNumber;
3963
+ progressStage: z.ZodNullable<z.ZodString>;
3964
+ progressPercent: z.ZodNumber;
3965
+ estimatedCostNanoUsd: z.ZodNumber;
3966
+ chargedCostNanoUsd: z.ZodNumber;
3967
+ error: z.ZodNullable<z.ZodObject<{
3968
+ category: z.ZodString;
3969
+ message: z.ZodString;
3970
+ }, z.core.$strict>>;
3971
+ workerRelease: z.ZodNullable<z.ZodString>;
3972
+ createdAt: z.ZodCoercedDate<unknown>;
3973
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3974
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3975
+ outputExpiresAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3976
+ }, z.core.$strict>>;
3977
+ }, z.core.$strict>;
3978
+ export type PdfTranslationSubmitOutput = z.infer<typeof pdfTranslationSubmitOutputSchema>;
3979
+ /** A job, and every job of its batch in their order (itself included). */
3980
+ export declare const pdfTranslationGetOutputSchema: z.ZodObject<{
3981
+ job: z.ZodObject<{
3982
+ id: z.ZodUUID;
3983
+ status: z.ZodEnum<{
3984
+ cancel_requested: "cancel_requested";
3985
+ cancelled: "cancelled";
3986
+ expired: "expired";
3987
+ failed: "failed";
3988
+ queued: "queued";
3989
+ running: "running";
3990
+ succeeded: "succeeded";
3991
+ }>;
3992
+ sourceFileName: z.ZodString;
3993
+ targetLanguage: z.ZodString;
3994
+ modelTier: z.ZodEnum<{
3995
+ advance: "advance";
3996
+ normal: "normal";
3997
+ }>;
3998
+ batchId: z.ZodUUID;
3999
+ batchPosition: z.ZodNumber;
4000
+ waitingAhead: z.ZodNullable<z.ZodNumber>;
4001
+ freeTrial: z.ZodBoolean;
4002
+ outputs: z.ZodObject<{
4003
+ translated: z.ZodBoolean;
4004
+ bilingual: z.ZodBoolean;
4005
+ }, z.core.$strict>;
4006
+ pageCount: z.ZodNumber;
4007
+ progressStage: z.ZodNullable<z.ZodString>;
4008
+ progressPercent: z.ZodNumber;
4009
+ estimatedCostNanoUsd: z.ZodNumber;
4010
+ chargedCostNanoUsd: z.ZodNumber;
4011
+ error: z.ZodNullable<z.ZodObject<{
4012
+ category: z.ZodString;
4013
+ message: z.ZodString;
4014
+ }, z.core.$strict>>;
4015
+ workerRelease: z.ZodNullable<z.ZodString>;
4016
+ createdAt: z.ZodCoercedDate<unknown>;
4017
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
4018
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
4019
+ outputExpiresAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
4020
+ }, z.core.$strict>;
4021
+ batch: z.ZodArray<z.ZodObject<{
4022
+ id: z.ZodUUID;
4023
+ status: z.ZodEnum<{
4024
+ cancel_requested: "cancel_requested";
4025
+ cancelled: "cancelled";
4026
+ expired: "expired";
4027
+ failed: "failed";
4028
+ queued: "queued";
4029
+ running: "running";
4030
+ succeeded: "succeeded";
4031
+ }>;
4032
+ sourceFileName: z.ZodString;
4033
+ targetLanguage: z.ZodString;
4034
+ modelTier: z.ZodEnum<{
4035
+ advance: "advance";
4036
+ normal: "normal";
4037
+ }>;
4038
+ batchId: z.ZodUUID;
4039
+ batchPosition: z.ZodNumber;
4040
+ waitingAhead: z.ZodNullable<z.ZodNumber>;
4041
+ freeTrial: z.ZodBoolean;
4042
+ outputs: z.ZodObject<{
4043
+ translated: z.ZodBoolean;
4044
+ bilingual: z.ZodBoolean;
4045
+ }, z.core.$strict>;
4046
+ pageCount: z.ZodNumber;
4047
+ progressStage: z.ZodNullable<z.ZodString>;
4048
+ progressPercent: z.ZodNumber;
4049
+ estimatedCostNanoUsd: z.ZodNumber;
4050
+ chargedCostNanoUsd: z.ZodNumber;
4051
+ error: z.ZodNullable<z.ZodObject<{
4052
+ category: z.ZodString;
4053
+ message: z.ZodString;
4054
+ }, z.core.$strict>>;
4055
+ workerRelease: z.ZodNullable<z.ZodString>;
4056
+ createdAt: z.ZodCoercedDate<unknown>;
4057
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
4058
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
4059
+ outputExpiresAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
4060
+ }, z.core.$strict>>;
4061
+ }, z.core.$strict>;
4062
+ export type PdfTranslationGetOutput = z.infer<typeof pdfTranslationGetOutputSchema>;
4063
+ export declare const pdfTranslationStatusInputSchema: z.ZodObject<{}, z.core.$strict>;
4064
+ export type PdfTranslationStatusInput = z.infer<typeof pdfTranslationStatusInputSchema>;
4065
+ export declare const pdfTranslationStatusOutputSchema: z.ZodObject<{
4066
+ freeTrialsRemaining: z.ZodNumber;
4067
+ funded: z.ZodBoolean;
4068
+ }, z.core.$strict>;
4069
+ export type PdfTranslationStatusOutput = z.infer<typeof pdfTranslationStatusOutputSchema>;
4070
+ export declare const pdfTranslationDownloadOutputSchema: z.ZodObject<{
4071
+ url: z.ZodURL;
4072
+ expiresAt: z.ZodCoercedDate<unknown>;
4073
+ }, z.core.$strict>;
4074
+ export type PdfTranslationDownloadOutput = z.infer<typeof pdfTranslationDownloadOutputSchema>;
4075
+ export declare const pdfTranslationPreviewOutputSchema: z.ZodObject<{
4076
+ url: z.ZodURL;
4077
+ expiresAt: z.ZodCoercedDate<unknown>;
4078
+ watermarked: z.ZodBoolean;
4079
+ }, z.core.$strict>;
4080
+ export type PdfTranslationPreviewOutput = z.infer<typeof pdfTranslationPreviewOutputSchema>;
4081
+ export declare const pdfTranslationDeleteOutputSchema: z.ZodObject<{
4082
+ id: z.ZodUUID;
4083
+ }, z.core.$strict>;
4084
+ export type PdfTranslationDeleteOutput = z.infer<typeof pdfTranslationDeleteOutputSchema>;
4085
+ export declare const PdfTranslationInsufficientCreditDataSchema: z.ZodObject<{
4086
+ estimatedCostNanoUsd: z.ZodNumber;
4087
+ remainingNanoUsd: z.ZodNumber;
4088
+ resetAt: z.ZodNullable<z.ZodISODateTime>;
4089
+ }, z.core.$strict>;
4090
+ export type PdfTranslationInsufficientCreditData = z.infer<typeof PdfTranslationInsufficientCreditDataSchema>;
4091
+ /**
4092
+ * Which of a submission's PDFs a refusal is about, so the page can point at
4093
+ * it. For an upload an earlier request used up, also the translation it made.
4094
+ */
4095
+ export declare const PdfTranslationUploadErrorDataSchema: z.ZodObject<{
4096
+ uploadId: z.ZodUUID;
4097
+ jobId: z.ZodOptional<z.ZodUUID>;
4098
+ }, z.core.$strict>;
4099
+ export type PdfTranslationUploadErrorData = z.infer<typeof PdfTranslationUploadErrorDataSchema>;
3225
4100
  /** The longest text one request reads aloud. */
3226
4101
  export declare const SPEECH_TEXT_MAX_LENGTH = 500;
3227
4102
  /**
@@ -4394,8 +5269,6 @@ export declare const speechSynthesizeOutputSchema: z.ZodObject<{
4394
5269
  expiresAt: z.ZodCoercedDate<unknown>;
4395
5270
  }, z.core.$strict>;
4396
5271
  export type SpeechSynthesizeOutput = z.infer<typeof speechSynthesizeOutputSchema>;
4397
- //#endregion
4398
- //#region src/schemas/timezone.d.ts
4399
5272
  export declare const timezoneSchema: z.ZodString;
4400
5273
  export type Timezone = z.infer<typeof timezoneSchema>;
4401
5274
  /**
@@ -4406,8 +5279,6 @@ export type Timezone = z.infer<typeof timezoneSchema>;
4406
5279
  * opposite sign and would put the call's days on the wrong side of UTC.
4407
5280
  */
4408
5281
  export declare const canonicalTimezoneSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4409
- //#endregion
4410
- //#region src/schemas/srs.d.ts
4411
5282
  export declare const stepSchema: z.ZodTemplateLiteral<`${number}d` | `${number}h` | `${number}m`>;
4412
5283
  export type Step = z.infer<typeof stepSchema>;
4413
5284
  export declare const SRS_REVIEW_CLIENT_ID_NAMESPACE = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
@@ -4703,7 +5574,7 @@ export declare const srsReviewOutputSchema: z.ZodObject<{
4703
5574
  }, z.core.$strict>;
4704
5575
  createdAt: z.ZodCoercedDate<unknown>;
4705
5576
  }, z.core.$strip>;
4706
- txid: z.ZodNumber;
5577
+ txid: z.ZodNullable<z.ZodNumber>;
4707
5578
  created: z.ZodBoolean;
4708
5579
  }, z.core.$strip>;
4709
5580
  export type SrsReviewOutput = z.infer<typeof srsReviewOutputSchema>;
@@ -4778,9 +5649,315 @@ export type SrsAcknowledgeOptimizerResultsInput = z.infer<typeof srsAcknowledgeO
4778
5649
  export declare const srsAcknowledgeOptimizerResultsOutputSchema: z.ZodObject<{
4779
5650
  acknowledgedCount: z.ZodNumber;
4780
5651
  }, z.core.$strict>;
4781
- export type SrsAcknowledgeOptimizerResultsOutput = z.infer<typeof srsAcknowledgeOptimizerResultsOutputSchema>;
4782
- //#endregion
4783
- //#region src/schemas/srs-stats.d.ts
5652
+ export type SrsAcknowledgeOptimizerResultsOutput = z.infer<typeof srsAcknowledgeOptimizerResultsOutputSchema>;
5653
+ export declare const srsBacklogStatsInputSchema: z.ZodObject<{
5654
+ notebaseIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
5655
+ timezone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5656
+ }, z.core.$strict>;
5657
+ export type SrsBacklogStatsInput = z.infer<typeof srsBacklogStatsInputSchema>;
5658
+ /**
5659
+ * An Awake notebase with a positive daily review limit whose overdue reviews
5660
+ * fill at least `BACKLOG_PROMPT_DAYS.badge` days.
5661
+ */
5662
+ export declare const srsBacklogStatsSchema: z.ZodObject<{
5663
+ overdueReviewCount: z.ZodNumber;
5664
+ dailyLimit: z.ZodNumber;
5665
+ backlogDays: z.ZodNumber;
5666
+ }, z.core.$strip>;
5667
+ export type SrsBacklogStats = z.infer<typeof srsBacklogStatsSchema>;
5668
+ /** Only the notebases that get the badge; the rest are absent. */
5669
+ export declare const srsBacklogStatsOutputSchema: z.ZodRecord<z.ZodUUID, z.ZodObject<{
5670
+ overdueReviewCount: z.ZodNumber;
5671
+ dailyLimit: z.ZodNumber;
5672
+ backlogDays: z.ZodNumber;
5673
+ }, z.core.$strip>>;
5674
+ export type SrsBacklogStatsOutput = z.infer<typeof srsBacklogStatsOutputSchema>;
5675
+ export declare const srsPreviewPostponeInputSchema: z.ZodObject<{
5676
+ notebaseId: z.ZodUUID;
5677
+ timezone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5678
+ dailyLimit: z.ZodOptional<z.ZodNumber>;
5679
+ flattenFullRange: z.ZodOptional<z.ZodBoolean>;
5680
+ }, z.core.$strict>;
5681
+ export type SrsPreviewPostponeInput = z.infer<typeof srsPreviewPostponeInputSchema>;
5682
+ declare const rescheduleBaselineDaySchema: z.ZodObject<{
5683
+ day: z.ZodNumber;
5684
+ scheduled: z.ZodNumber;
5685
+ rSum: z.ZodNullable<z.ZodNumber>;
5686
+ }, z.core.$strip>;
5687
+ export type RescheduleBaselineDay = z.infer<typeof rescheduleBaselineDaySchema>;
5688
+ export declare const spreadDaySchema: z.ZodObject<{
5689
+ day: z.ZodNumber;
5690
+ scheduled: z.ZodNumber;
5691
+ backlog: z.ZodNumber;
5692
+ backlogRSum: z.ZodNumber;
5693
+ surplusIn: z.ZodNumber;
5694
+ surplusRSum: z.ZodNumber;
5695
+ surplusStay: z.ZodNumber;
5696
+ surplusOut: z.ZodNumber;
5697
+ }, z.core.$strip>;
5698
+ export type SpreadDay = z.infer<typeof spreadDaySchema>;
5699
+ export declare const flattenStepSchema: z.ZodObject<{
5700
+ checked: z.ZodBoolean;
5701
+ fromToday: z.ZodNumber;
5702
+ fromFuture: z.ZodNumber;
5703
+ fromDays: z.ZodNumber;
5704
+ kept: z.ZodObject<{
5705
+ stuck: z.ZodNumber;
5706
+ noRoom: z.ZodNumber;
5707
+ }, z.core.$strip>;
5708
+ qSuggest: z.ZodNumber;
5709
+ meanRAfter: z.ZodNumber;
5710
+ days: z.ZodArray<z.ZodObject<{
5711
+ day: z.ZodNumber;
5712
+ scheduled: z.ZodNumber;
5713
+ backlog: z.ZodNumber;
5714
+ backlogRSum: z.ZodNumber;
5715
+ surplusIn: z.ZodNumber;
5716
+ surplusRSum: z.ZodNumber;
5717
+ surplusStay: z.ZodNumber;
5718
+ surplusOut: z.ZodNumber;
5719
+ }, z.core.$strip>>;
5720
+ postponedAgain: z.ZodObject<{
5721
+ count: z.ZodNumber;
5722
+ rSum: z.ZodNumber;
5723
+ }, z.core.$strip>;
5724
+ }, z.core.$strip>;
5725
+ export type FlattenStep = z.infer<typeof flattenStepSchema>;
5726
+ /** One threshold's Postpone alone, before its Flatten option is attached. */
5727
+ export declare const postponeSummarySchema: z.ZodObject<{
5728
+ threshold: z.ZodNumber;
5729
+ moved: z.ZodNumber;
5730
+ overflowToday: z.ZodNumber;
5731
+ meanRiBefore: z.ZodNumber;
5732
+ meanRAfter: z.ZodNumber;
5733
+ days: z.ZodArray<z.ZodObject<{
5734
+ day: z.ZodNumber;
5735
+ postponed: z.ZodNumber;
5736
+ rSum: z.ZodNumber;
5737
+ }, z.core.$strip>>;
5738
+ }, z.core.$strip>;
5739
+ export type PostponeSummary = z.infer<typeof postponeSummarySchema>;
5740
+ export declare const postponeStepSchema: z.ZodObject<{
5741
+ threshold: z.ZodNumber;
5742
+ moved: z.ZodNumber;
5743
+ overflowToday: z.ZodNumber;
5744
+ meanRiBefore: z.ZodNumber;
5745
+ meanRAfter: z.ZodNumber;
5746
+ days: z.ZodArray<z.ZodObject<{
5747
+ day: z.ZodNumber;
5748
+ postponed: z.ZodNumber;
5749
+ rSum: z.ZodNumber;
5750
+ }, z.core.$strip>>;
5751
+ flatten: z.ZodNullable<z.ZodObject<{
5752
+ checked: z.ZodBoolean;
5753
+ fromToday: z.ZodNumber;
5754
+ fromFuture: z.ZodNumber;
5755
+ fromDays: z.ZodNumber;
5756
+ kept: z.ZodObject<{
5757
+ stuck: z.ZodNumber;
5758
+ noRoom: z.ZodNumber;
5759
+ }, z.core.$strip>;
5760
+ qSuggest: z.ZodNumber;
5761
+ meanRAfter: z.ZodNumber;
5762
+ days: z.ZodArray<z.ZodObject<{
5763
+ day: z.ZodNumber;
5764
+ scheduled: z.ZodNumber;
5765
+ backlog: z.ZodNumber;
5766
+ backlogRSum: z.ZodNumber;
5767
+ surplusIn: z.ZodNumber;
5768
+ surplusRSum: z.ZodNumber;
5769
+ surplusStay: z.ZodNumber;
5770
+ surplusOut: z.ZodNumber;
5771
+ }, z.core.$strip>>;
5772
+ postponedAgain: z.ZodObject<{
5773
+ count: z.ZodNumber;
5774
+ rSum: z.ZodNumber;
5775
+ }, z.core.$strip>;
5776
+ }, z.core.$strip>>;
5777
+ }, z.core.$strip>;
5778
+ export type PostponeStep = z.infer<typeof postponeStepSchema>;
5779
+ export declare const postponePlanSchema: z.ZodObject<{
5780
+ planId: z.ZodString;
5781
+ limit: z.ZodNumber;
5782
+ steps: z.ZodArray<z.ZodObject<{
5783
+ threshold: z.ZodNumber;
5784
+ moved: z.ZodNumber;
5785
+ overflowToday: z.ZodNumber;
5786
+ meanRiBefore: z.ZodNumber;
5787
+ meanRAfter: z.ZodNumber;
5788
+ days: z.ZodArray<z.ZodObject<{
5789
+ day: z.ZodNumber;
5790
+ postponed: z.ZodNumber;
5791
+ rSum: z.ZodNumber;
5792
+ }, z.core.$strip>>;
5793
+ flatten: z.ZodNullable<z.ZodObject<{
5794
+ checked: z.ZodBoolean;
5795
+ fromToday: z.ZodNumber;
5796
+ fromFuture: z.ZodNumber;
5797
+ fromDays: z.ZodNumber;
5798
+ kept: z.ZodObject<{
5799
+ stuck: z.ZodNumber;
5800
+ noRoom: z.ZodNumber;
5801
+ }, z.core.$strip>;
5802
+ qSuggest: z.ZodNumber;
5803
+ meanRAfter: z.ZodNumber;
5804
+ days: z.ZodArray<z.ZodObject<{
5805
+ day: z.ZodNumber;
5806
+ scheduled: z.ZodNumber;
5807
+ backlog: z.ZodNumber;
5808
+ backlogRSum: z.ZodNumber;
5809
+ surplusIn: z.ZodNumber;
5810
+ surplusRSum: z.ZodNumber;
5811
+ surplusStay: z.ZodNumber;
5812
+ surplusOut: z.ZodNumber;
5813
+ }, z.core.$strip>>;
5814
+ postponedAgain: z.ZodObject<{
5815
+ count: z.ZodNumber;
5816
+ rSum: z.ZodNumber;
5817
+ }, z.core.$strip>;
5818
+ }, z.core.$strip>>;
5819
+ }, z.core.$strip>>;
5820
+ skipped: z.ZodObject<{
5821
+ belowFloor: z.ZodNumber;
5822
+ maxInterval: z.ZodNumber;
5823
+ invalid: z.ZodNumber;
5824
+ }, z.core.$strip>;
5825
+ }, z.core.$strip>;
5826
+ export type PostponePlanSummary = z.infer<typeof postponePlanSchema>;
5827
+ export declare const srsPreviewPostponeOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5828
+ status: z.ZodLiteral<"ready">;
5829
+ expiresAt: z.ZodDate;
5830
+ q: z.ZodNumber;
5831
+ qConfigured: z.ZodNumber;
5832
+ qMax: z.ZodNumber;
5833
+ overdueReviewCount: z.ZodNumber;
5834
+ dueTodayReviewCount: z.ZodNumber;
5835
+ usedToday: z.ZodNumber;
5836
+ plan: z.ZodObject<{
5837
+ planId: z.ZodString;
5838
+ limit: z.ZodNumber;
5839
+ steps: z.ZodArray<z.ZodObject<{
5840
+ threshold: z.ZodNumber;
5841
+ moved: z.ZodNumber;
5842
+ overflowToday: z.ZodNumber;
5843
+ meanRiBefore: z.ZodNumber;
5844
+ meanRAfter: z.ZodNumber;
5845
+ days: z.ZodArray<z.ZodObject<{
5846
+ day: z.ZodNumber;
5847
+ postponed: z.ZodNumber;
5848
+ rSum: z.ZodNumber;
5849
+ }, z.core.$strip>>;
5850
+ flatten: z.ZodNullable<z.ZodObject<{
5851
+ checked: z.ZodBoolean;
5852
+ fromToday: z.ZodNumber;
5853
+ fromFuture: z.ZodNumber;
5854
+ fromDays: z.ZodNumber;
5855
+ kept: z.ZodObject<{
5856
+ stuck: z.ZodNumber;
5857
+ noRoom: z.ZodNumber;
5858
+ }, z.core.$strip>;
5859
+ qSuggest: z.ZodNumber;
5860
+ meanRAfter: z.ZodNumber;
5861
+ days: z.ZodArray<z.ZodObject<{
5862
+ day: z.ZodNumber;
5863
+ scheduled: z.ZodNumber;
5864
+ backlog: z.ZodNumber;
5865
+ backlogRSum: z.ZodNumber;
5866
+ surplusIn: z.ZodNumber;
5867
+ surplusRSum: z.ZodNumber;
5868
+ surplusStay: z.ZodNumber;
5869
+ surplusOut: z.ZodNumber;
5870
+ }, z.core.$strip>>;
5871
+ postponedAgain: z.ZodObject<{
5872
+ count: z.ZodNumber;
5873
+ rSum: z.ZodNumber;
5874
+ }, z.core.$strip>;
5875
+ }, z.core.$strip>>;
5876
+ }, z.core.$strip>>;
5877
+ skipped: z.ZodObject<{
5878
+ belowFloor: z.ZodNumber;
5879
+ maxInterval: z.ZodNumber;
5880
+ invalid: z.ZodNumber;
5881
+ }, z.core.$strip>;
5882
+ }, z.core.$strip>;
5883
+ suggested: z.ZodNullable<z.ZodObject<{
5884
+ planId: z.ZodString;
5885
+ limit: z.ZodNumber;
5886
+ steps: z.ZodArray<z.ZodObject<{
5887
+ threshold: z.ZodNumber;
5888
+ moved: z.ZodNumber;
5889
+ overflowToday: z.ZodNumber;
5890
+ meanRiBefore: z.ZodNumber;
5891
+ meanRAfter: z.ZodNumber;
5892
+ days: z.ZodArray<z.ZodObject<{
5893
+ day: z.ZodNumber;
5894
+ postponed: z.ZodNumber;
5895
+ rSum: z.ZodNumber;
5896
+ }, z.core.$strip>>;
5897
+ flatten: z.ZodNullable<z.ZodObject<{
5898
+ checked: z.ZodBoolean;
5899
+ fromToday: z.ZodNumber;
5900
+ fromFuture: z.ZodNumber;
5901
+ fromDays: z.ZodNumber;
5902
+ kept: z.ZodObject<{
5903
+ stuck: z.ZodNumber;
5904
+ noRoom: z.ZodNumber;
5905
+ }, z.core.$strip>;
5906
+ qSuggest: z.ZodNumber;
5907
+ meanRAfter: z.ZodNumber;
5908
+ days: z.ZodArray<z.ZodObject<{
5909
+ day: z.ZodNumber;
5910
+ scheduled: z.ZodNumber;
5911
+ backlog: z.ZodNumber;
5912
+ backlogRSum: z.ZodNumber;
5913
+ surplusIn: z.ZodNumber;
5914
+ surplusRSum: z.ZodNumber;
5915
+ surplusStay: z.ZodNumber;
5916
+ surplusOut: z.ZodNumber;
5917
+ }, z.core.$strip>>;
5918
+ postponedAgain: z.ZodObject<{
5919
+ count: z.ZodNumber;
5920
+ rSum: z.ZodNumber;
5921
+ }, z.core.$strip>;
5922
+ }, z.core.$strip>>;
5923
+ }, z.core.$strip>>;
5924
+ skipped: z.ZodObject<{
5925
+ belowFloor: z.ZodNumber;
5926
+ maxInterval: z.ZodNumber;
5927
+ invalid: z.ZodNumber;
5928
+ }, z.core.$strip>;
5929
+ }, z.core.$strip>>;
5930
+ baseline: z.ZodArray<z.ZodObject<{
5931
+ day: z.ZodNumber;
5932
+ scheduled: z.ZodNumber;
5933
+ rSum: z.ZodNullable<z.ZodNumber>;
5934
+ }, z.core.$strip>>;
5935
+ }, z.core.$strip>, z.ZodObject<{
5936
+ status: z.ZodLiteral<"quotaZero">;
5937
+ }, z.core.$strip>, z.ZodObject<{
5938
+ status: z.ZodLiteral<"invalidWeights">;
5939
+ }, z.core.$strip>], "status">;
5940
+ export type SrsPreviewPostponeOutput = z.infer<typeof srsPreviewPostponeOutputSchema>;
5941
+ export declare const srsApplyPostponeInputSchema: z.ZodObject<{
5942
+ notebaseId: z.ZodUUID;
5943
+ planId: z.ZodString;
5944
+ unlimited: z.ZodOptional<z.ZodBoolean>;
5945
+ threshold: z.ZodNumber;
5946
+ flatten: z.ZodOptional<z.ZodBoolean>;
5947
+ }, z.core.$strict>;
5948
+ export type SrsApplyPostponeInput = z.infer<typeof srsApplyPostponeInputSchema>;
5949
+ export declare const srsRescheduleApplyOutputSchema: z.ZodObject<{
5950
+ moved: z.ZodNumber;
5951
+ txid: z.ZodNullable<z.ZodNumber>;
5952
+ reviewsPerDay: z.ZodNumber;
5953
+ }, z.core.$strip>;
5954
+ export type SrsRescheduleApplyOutput = z.infer<typeof srsRescheduleApplyOutputSchema>;
5955
+ export declare const srsApplyPostponeOutputSchema: z.ZodObject<{
5956
+ moved: z.ZodNumber;
5957
+ txid: z.ZodNullable<z.ZodNumber>;
5958
+ reviewsPerDay: z.ZodNumber;
5959
+ }, z.core.$strip>;
5960
+ export type SrsApplyPostponeOutput = z.infer<typeof srsApplyPostponeOutputSchema>;
4784
5961
  export declare const srsActivityStatsItemSchema: z.ZodObject<{
4785
5962
  date: z.ZodISODate;
4786
5963
  answers: z.ZodNumber;
@@ -4809,8 +5986,6 @@ export declare const srsMemoryGrowthStatsOutputSchema: z.ZodObject<{
4809
5986
  }, z.core.$strict>>;
4810
5987
  }, z.core.$strict>;
4811
5988
  export type SrsMemoryGrowthStatsOutput = z.infer<typeof srsMemoryGrowthStatsOutputSchema>;
4812
- //#endregion
4813
- //#region src/schemas/stats.d.ts
4814
5989
  export declare const statsInputSchema: z.ZodObject<{
4815
5990
  notebaseIds: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodUUID>, z.ZodTransform<string[], string[]>>>;
4816
5991
  from: z.ZodOptional<z.ZodISODate>;
@@ -4835,8 +6010,6 @@ export declare const activityStatsOutputSchema: z.ZodObject<{
4835
6010
  }, z.core.$strict>;
4836
6011
  }, z.core.$strict>;
4837
6012
  export type ActivityStatsOutput = z.infer<typeof activityStatsOutputSchema>;
4838
- //#endregion
4839
- //#region src/schemas/user.d.ts
4840
6013
  export declare const userEnsureTimezoneInputSchema: z.ZodObject<{
4841
6014
  timezone: z.ZodString;
4842
6015
  }, z.core.$strict>;
@@ -4911,8 +6084,6 @@ export declare const userUpdateLocaleOutputSchema: z.ZodObject<{
4911
6084
  }>;
4912
6085
  }, z.core.$strict>;
4913
6086
  export type UserUpdateLocaleOutput = z.infer<typeof userUpdateLocaleOutputSchema>;
4914
- //#endregion
4915
- //#region src/schemas/video-transcript.d.ts
4916
6087
  export declare const videoTranscriptStatusSchema: z.ZodEnum<{
4917
6088
  completed: "completed";
4918
6089
  failed: "failed";
@@ -4986,8 +6157,205 @@ export declare const videoTranscriptUsageSchema: z.ZodObject<{
4986
6157
  }, z.core.$strip>>;
4987
6158
  }, z.core.$strip>;
4988
6159
  export type VideoTranscriptUsage = z.infer<typeof videoTranscriptUsageSchema>;
4989
- //#endregion
4990
- //#region src/schemas/pagination.d.ts
6160
+ /** The shapes the web app syncs, by their names in `@repo/electric-contract`. */
6161
+ export declare const webSyncShapeSchema: z.ZodEnum<{
6162
+ cardTemplates: "cardTemplates";
6163
+ cards: "cards";
6164
+ mediaAssets: "mediaAssets";
6165
+ notebaseColumns: "notebaseColumns";
6166
+ notebaseRows: "notebaseRows";
6167
+ notebases: "notebases";
6168
+ revlogs: "revlogs";
6169
+ }>;
6170
+ export type WebSyncShape = z.infer<typeof webSyncShapeSchema>;
6171
+ /** The write whose change the page waited to see come back over Electric. */
6172
+ export declare const webSyncOperationSchema: z.ZodEnum<{
6173
+ bury: "bury";
6174
+ cardStatus: "cardStatus";
6175
+ createTemplate: "createTemplate";
6176
+ delete: "delete";
6177
+ deleteNote: "deleteNote";
6178
+ insert: "insert";
6179
+ review: "review";
6180
+ reviewReplay: "reviewReplay";
6181
+ setSleep: "setSleep";
6182
+ srsSettings: "srsSettings";
6183
+ suspend: "suspend";
6184
+ undo: "undo";
6185
+ update: "update";
6186
+ updateTemplate: "updateTemplate";
6187
+ }>;
6188
+ export type WebSyncOperation = z.infer<typeof webSyncOperationSchema>;
6189
+ /** How the shape that lagged was receiving live changes. */
6190
+ export declare const webSyncTransportSchema: z.ZodEnum<{
6191
+ longPoll: "longPoll";
6192
+ sse: "sse";
6193
+ }>;
6194
+ export type WebSyncTransport = z.infer<typeof webSyncTransportSchema>;
6195
+ /**
6196
+ * A write wait is only reported once its first wait ran out: `recovered` when
6197
+ * reconnecting the lagging shapes brought the change, `failed` when the page
6198
+ * gave up on it.
6199
+ */
6200
+ export declare const webSyncWriteOutcomeSchema: z.ZodEnum<{
6201
+ failed: "failed";
6202
+ recovered: "recovered";
6203
+ }>;
6204
+ export type WebSyncWriteOutcome = z.infer<typeof webSyncWriteOutcomeSchema>;
6205
+ export declare const webSyncStreamErrorTypeSchema: z.ZodEnum<{
6206
+ badRequest: "badRequest";
6207
+ clientError: "clientError";
6208
+ forbidden: "forbidden";
6209
+ missingHeaders: "missingHeaders";
6210
+ unauthorized: "unauthorized";
6211
+ unexpected: "unexpected";
6212
+ }>;
6213
+ export type WebSyncStreamErrorType = z.infer<typeof webSyncStreamErrorTypeSchema>;
6214
+ /** `initial` before the shape first loaded, when the page shows the error at once. */
6215
+ export declare const webSyncStreamPhaseSchema: z.ZodEnum<{
6216
+ initial: "initial";
6217
+ live: "live";
6218
+ }>;
6219
+ export type WebSyncStreamPhase = z.infer<typeof webSyncStreamPhaseSchema>;
6220
+ export declare const webSyncPageSchema: z.ZodEnum<{
6221
+ reviewCombined: "reviewCombined";
6222
+ reviewNotebase: "reviewNotebase";
6223
+ }>;
6224
+ export type WebSyncPage = z.infer<typeof webSyncPageSchema>;
6225
+ export declare const webSyncUnavailableReasonSchema: z.ZodEnum<{
6226
+ notebaseGone: "notebaseGone";
6227
+ streamFailed: "streamFailed";
6228
+ syncTimeout: "syncTimeout";
6229
+ }>;
6230
+ export type WebSyncUnavailableReason = z.infer<typeof webSyncUnavailableReasonSchema>;
6231
+ export declare const webSyncEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6232
+ type: z.ZodLiteral<"writeWait">;
6233
+ operation: z.ZodEnum<{
6234
+ bury: "bury";
6235
+ cardStatus: "cardStatus";
6236
+ createTemplate: "createTemplate";
6237
+ delete: "delete";
6238
+ deleteNote: "deleteNote";
6239
+ insert: "insert";
6240
+ review: "review";
6241
+ reviewReplay: "reviewReplay";
6242
+ setSleep: "setSleep";
6243
+ srsSettings: "srsSettings";
6244
+ suspend: "suspend";
6245
+ undo: "undo";
6246
+ update: "update";
6247
+ updateTemplate: "updateTemplate";
6248
+ }>;
6249
+ outcome: z.ZodEnum<{
6250
+ failed: "failed";
6251
+ recovered: "recovered";
6252
+ }>;
6253
+ transport: z.ZodEnum<{
6254
+ longPoll: "longPoll";
6255
+ sse: "sse";
6256
+ }>;
6257
+ }, z.core.$strict>, z.ZodObject<{
6258
+ type: z.ZodLiteral<"streamError">;
6259
+ shape: z.ZodEnum<{
6260
+ cardTemplates: "cardTemplates";
6261
+ cards: "cards";
6262
+ mediaAssets: "mediaAssets";
6263
+ notebaseColumns: "notebaseColumns";
6264
+ notebaseRows: "notebaseRows";
6265
+ notebases: "notebases";
6266
+ revlogs: "revlogs";
6267
+ }>;
6268
+ errorType: z.ZodEnum<{
6269
+ badRequest: "badRequest";
6270
+ clientError: "clientError";
6271
+ forbidden: "forbidden";
6272
+ missingHeaders: "missingHeaders";
6273
+ unauthorized: "unauthorized";
6274
+ unexpected: "unexpected";
6275
+ }>;
6276
+ phase: z.ZodEnum<{
6277
+ initial: "initial";
6278
+ live: "live";
6279
+ }>;
6280
+ }, z.core.$strict>, z.ZodObject<{
6281
+ type: z.ZodLiteral<"unavailable">;
6282
+ page: z.ZodEnum<{
6283
+ reviewCombined: "reviewCombined";
6284
+ reviewNotebase: "reviewNotebase";
6285
+ }>;
6286
+ reason: z.ZodEnum<{
6287
+ notebaseGone: "notebaseGone";
6288
+ streamFailed: "streamFailed";
6289
+ syncTimeout: "syncTimeout";
6290
+ }>;
6291
+ }, z.core.$strict>], "type">;
6292
+ export type WebSyncEvent = z.infer<typeof webSyncEventSchema>;
6293
+ /** A page sends what happened within a second or so as one batch. */
6294
+ export declare const WEB_SYNC_REPORT_MAX_EVENTS = 20;
6295
+ export declare const reportWebSyncInputSchema: z.ZodObject<{
6296
+ events: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
6297
+ type: z.ZodLiteral<"writeWait">;
6298
+ operation: z.ZodEnum<{
6299
+ bury: "bury";
6300
+ cardStatus: "cardStatus";
6301
+ createTemplate: "createTemplate";
6302
+ delete: "delete";
6303
+ deleteNote: "deleteNote";
6304
+ insert: "insert";
6305
+ review: "review";
6306
+ reviewReplay: "reviewReplay";
6307
+ setSleep: "setSleep";
6308
+ srsSettings: "srsSettings";
6309
+ suspend: "suspend";
6310
+ undo: "undo";
6311
+ update: "update";
6312
+ updateTemplate: "updateTemplate";
6313
+ }>;
6314
+ outcome: z.ZodEnum<{
6315
+ failed: "failed";
6316
+ recovered: "recovered";
6317
+ }>;
6318
+ transport: z.ZodEnum<{
6319
+ longPoll: "longPoll";
6320
+ sse: "sse";
6321
+ }>;
6322
+ }, z.core.$strict>, z.ZodObject<{
6323
+ type: z.ZodLiteral<"streamError">;
6324
+ shape: z.ZodEnum<{
6325
+ cardTemplates: "cardTemplates";
6326
+ cards: "cards";
6327
+ mediaAssets: "mediaAssets";
6328
+ notebaseColumns: "notebaseColumns";
6329
+ notebaseRows: "notebaseRows";
6330
+ notebases: "notebases";
6331
+ revlogs: "revlogs";
6332
+ }>;
6333
+ errorType: z.ZodEnum<{
6334
+ badRequest: "badRequest";
6335
+ clientError: "clientError";
6336
+ forbidden: "forbidden";
6337
+ missingHeaders: "missingHeaders";
6338
+ unauthorized: "unauthorized";
6339
+ unexpected: "unexpected";
6340
+ }>;
6341
+ phase: z.ZodEnum<{
6342
+ initial: "initial";
6343
+ live: "live";
6344
+ }>;
6345
+ }, z.core.$strict>, z.ZodObject<{
6346
+ type: z.ZodLiteral<"unavailable">;
6347
+ page: z.ZodEnum<{
6348
+ reviewCombined: "reviewCombined";
6349
+ reviewNotebase: "reviewNotebase";
6350
+ }>;
6351
+ reason: z.ZodEnum<{
6352
+ notebaseGone: "notebaseGone";
6353
+ streamFailed: "streamFailed";
6354
+ syncTimeout: "syncTimeout";
6355
+ }>;
6356
+ }, z.core.$strict>], "type">>;
6357
+ }, z.core.$strict>;
6358
+ export type ReportWebSyncInput = z.infer<typeof reportWebSyncInputSchema>;
4991
6359
  export declare const paginationShape: {
4992
6360
  limit: z.ZodOptional<z.ZodNumber>;
4993
6361
  offset: z.ZodOptional<z.ZodNumber>;
@@ -4996,15 +6364,11 @@ export declare function pageSchema<T extends z.ZodType>(itemSchema: T): z.ZodObj
4996
6364
  items: z.ZodArray<T>;
4997
6365
  hasMore: z.ZodBoolean;
4998
6366
  }, z.core.$strip>;
4999
- //#endregion
5000
- //#region src/schemas/resource-mutation.d.ts
5001
6367
  export declare const expectedUpdatedAtSchema: z.ZodISODateTime;
5002
6368
  export declare const deletionResultSchema: z.ZodObject<{
5003
6369
  id: z.ZodUUID;
5004
6370
  txid: z.ZodNumber;
5005
6371
  }, z.core.$strip>;
5006
- //#endregion
5007
- //#region src/index.d.ts
5008
6372
  export declare const contract: {
5009
6373
  billing: {
5010
6374
  status: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
@@ -5055,7 +6419,7 @@ export declare const contract: {
5055
6419
  unlimitedNotebaseNotes: import("zod").ZodBoolean;
5056
6420
  notebaseNoteLimit: import("zod").ZodNumber;
5057
6421
  notebaseNoteCount: import("zod").ZodNumber;
5058
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
6422
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CHECKOUT_CONFLICT" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
5059
6423
  createCheckoutSession: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5060
6424
  currency: import("zod").ZodEnum<{
5061
6425
  cad: "cad";
@@ -5081,9 +6445,80 @@ export declare const contract: {
5081
6445
  pro: "pro";
5082
6446
  ultra: "ultra";
5083
6447
  }>>;
6448
+ requestId: import("zod").ZodOptional<import("zod").ZodUUID>;
6449
+ attribution: import("zod").ZodOptional<import("zod").ZodObject<{
6450
+ journeyId: import("zod").ZodUUID;
6451
+ actual: import("zod").ZodObject<{
6452
+ entry: import("zod").ZodEnum<{
6453
+ billing_settings: "billing_settings";
6454
+ content_link: "content_link";
6455
+ direct: "direct";
6456
+ ebook_limit: "ebook_limit";
6457
+ ebook_upload_gate: "ebook_upload_gate";
6458
+ extension_notebase_limit: "extension_notebase_limit";
6459
+ extension_plan_badge: "extension_plan_badge";
6460
+ extension_quota_exhausted: "extension_quota_exhausted";
6461
+ extension_upgrade: "extension_upgrade";
6462
+ extension_video_quota: "extension_video_quota";
6463
+ featurebase_banner: "featurebase_banner";
6464
+ mcp_limit: "mcp_limit";
6465
+ notebase_header: "notebase_header";
6466
+ notebase_limit: "notebase_limit";
6467
+ pdf_download_gate: "pdf_download_gate";
6468
+ pdf_free_trial_card: "pdf_free_trial_card";
6469
+ pdf_trial_exhausted: "pdf_trial_exhausted";
6470
+ pdf_upgrade_notice: "pdf_upgrade_notice";
6471
+ pdf_watermark_preview: "pdf_watermark_preview";
6472
+ site_footer: "site_footer";
6473
+ site_nav: "site_nav";
6474
+ unknown: "unknown";
6475
+ }>;
6476
+ occurredAt: import("zod").ZodISODateTime;
6477
+ campaign: import("zod").ZodOptional<import("zod").ZodString>;
6478
+ sourceRoute: import("zod").ZodOptional<import("zod").ZodString>;
6479
+ }, import("zod/v4/core").$strict>;
6480
+ lastNonDirect: import("zod").ZodOptional<import("zod").ZodObject<{
6481
+ entry: import("zod").ZodEnum<{
6482
+ billing_settings: "billing_settings";
6483
+ content_link: "content_link";
6484
+ direct: "direct";
6485
+ ebook_limit: "ebook_limit";
6486
+ ebook_upload_gate: "ebook_upload_gate";
6487
+ extension_notebase_limit: "extension_notebase_limit";
6488
+ extension_plan_badge: "extension_plan_badge";
6489
+ extension_quota_exhausted: "extension_quota_exhausted";
6490
+ extension_upgrade: "extension_upgrade";
6491
+ extension_video_quota: "extension_video_quota";
6492
+ featurebase_banner: "featurebase_banner";
6493
+ mcp_limit: "mcp_limit";
6494
+ notebase_header: "notebase_header";
6495
+ notebase_limit: "notebase_limit";
6496
+ pdf_download_gate: "pdf_download_gate";
6497
+ pdf_free_trial_card: "pdf_free_trial_card";
6498
+ pdf_trial_exhausted: "pdf_trial_exhausted";
6499
+ pdf_upgrade_notice: "pdf_upgrade_notice";
6500
+ pdf_watermark_preview: "pdf_watermark_preview";
6501
+ site_footer: "site_footer";
6502
+ site_nav: "site_nav";
6503
+ unknown: "unknown";
6504
+ }>;
6505
+ occurredAt: import("zod").ZodISODateTime;
6506
+ campaign: import("zod").ZodOptional<import("zod").ZodString>;
6507
+ sourceRoute: import("zod").ZodOptional<import("zod").ZodString>;
6508
+ }, import("zod/v4/core").$strict>>;
6509
+ acquisition: import("zod").ZodOptional<import("zod").ZodObject<{
6510
+ occurredAt: import("zod").ZodISODateTime;
6511
+ utmSource: import("zod").ZodOptional<import("zod").ZodString>;
6512
+ utmMedium: import("zod").ZodOptional<import("zod").ZodString>;
6513
+ utmCampaign: import("zod").ZodOptional<import("zod").ZodString>;
6514
+ utmContent: import("zod").ZodOptional<import("zod").ZodString>;
6515
+ utmTerm: import("zod").ZodOptional<import("zod").ZodString>;
6516
+ referrerDomain: import("zod").ZodOptional<import("zod").ZodString>;
6517
+ }, import("zod/v4/core").$strict>>;
6518
+ }, import("zod/v4/core").$strict>>;
5084
6519
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5085
6520
  url: import("zod").ZodURL;
5086
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
6521
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CHECKOUT_CONFLICT" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
5087
6522
  createCustomerPortalSession: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5088
6523
  locale: import("zod").ZodEnum<{
5089
6524
  en: "en";
@@ -5098,10 +6533,10 @@ export declare const contract: {
5098
6533
  }>;
5099
6534
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5100
6535
  url: import("zod").ZodURL;
5101
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
6536
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CHECKOUT_CONFLICT" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
5102
6537
  cancelScheduledChange: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
5103
6538
  success: import("zod").ZodLiteral<true>;
5104
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
6539
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "BILLING_CHANGE_SCHEDULED" | "BILLING_CHECKOUT_CONFLICT" | "BILLING_CUSTOMER_NOT_FOUND" | "BILLING_NOT_CONFIGURED" | "BILLING_PASS_ACTIVE">>, Record<never, never>>;
5105
6540
  };
5106
6541
  card: {
5107
6542
  list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -5473,7 +6908,7 @@ export declare const contract: {
5473
6908
  count: import("zod").ZodNumber;
5474
6909
  limit: import("zod").ZodNumber;
5475
6910
  }, import("zod/v4/core").$strict>;
5476
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED">>, Record<never, never>>;
6911
+ }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
5477
6912
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5478
6913
  id: import("zod").ZodUUID;
5479
6914
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
@@ -5494,7 +6929,7 @@ export declare const contract: {
5494
6929
  updatedAt: import("zod").ZodCoercedDate<unknown>;
5495
6930
  progressCfi: import("zod").ZodNullable<import("zod").ZodString>;
5496
6931
  }, import("zod/v4/core").$strict>;
5497
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_NOT_FOUND">>, Record<never, never>>;
6932
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_NOT_FOUND">>, Record<never, never>>;
5498
6933
  requestUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5499
6934
  title: import("zod").ZodString;
5500
6935
  author: import("zod").ZodOptional<import("zod").ZodString>;
@@ -5508,6 +6943,7 @@ export declare const contract: {
5508
6943
  }>;
5509
6944
  byteSize: import("zod").ZodNumber;
5510
6945
  }, import("zod/v4/core").$strict>>;
6946
+ uploadKey: import("zod").ZodOptional<import("zod").ZodUUID>;
5511
6947
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5512
6948
  ebookId: import("zod").ZodUUID;
5513
6949
  upload: import("zod").ZodObject<{
@@ -5519,7 +6955,7 @@ export declare const contract: {
5519
6955
  headers: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
5520
6956
  }, import("zod/v4/core").$strict>>;
5521
6957
  expiresAt: import("zod").ZodCoercedDate<unknown>;
5522
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_FILE_TOO_LARGE" | "EBOOK_LIMIT_EXCEEDED">>, Record<never, never>>;
6958
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_FILE_TOO_LARGE" | "EBOOK_LIMIT_EXCEEDED">>, Record<never, never>>;
5523
6959
  finalizeUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5524
6960
  ebookId: import("zod").ZodUUID;
5525
6961
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
@@ -5539,20 +6975,20 @@ export declare const contract: {
5539
6975
  createdAt: import("zod").ZodCoercedDate<unknown>;
5540
6976
  updatedAt: import("zod").ZodCoercedDate<unknown>;
5541
6977
  }, import("zod/v4/core").$strict>;
5542
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_FILE_TOO_LARGE" | "EBOOK_NOT_FOUND" | "EBOOK_UPLOAD_NOT_COMPLETED">>, Record<never, never>>;
6978
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_FILE_TOO_LARGE" | "EBOOK_NOT_FOUND" | "EBOOK_UPLOAD_NOT_COMPLETED">>, Record<never, never>>;
5543
6979
  getDownloadUrl: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5544
6980
  id: import("zod").ZodUUID;
5545
6981
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5546
6982
  url: import("zod").ZodURL;
5547
6983
  expiresAt: import("zod").ZodCoercedDate<unknown>;
5548
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_NOT_FOUND">>, Record<never, never>>;
6984
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_NOT_FOUND">>, Record<never, never>>;
5549
6985
  updateProgress: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5550
6986
  cfi: import("zod").ZodString;
5551
6987
  fraction: import("zod").ZodNumber;
5552
6988
  id: import("zod").ZodUUID;
5553
6989
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5554
6990
  lastReadAt: import("zod").ZodCoercedDate<unknown>;
5555
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_NOT_FOUND">>, Record<never, never>>;
6991
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_NOT_FOUND">>, Record<never, never>>;
5556
6992
  rename: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5557
6993
  title: import("zod").ZodString;
5558
6994
  author: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
@@ -5574,12 +7010,12 @@ export declare const contract: {
5574
7010
  createdAt: import("zod").ZodCoercedDate<unknown>;
5575
7011
  updatedAt: import("zod").ZodCoercedDate<unknown>;
5576
7012
  }, import("zod/v4/core").$strict>;
5577
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_NOT_FOUND">>, Record<never, never>>;
7013
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_NOT_FOUND">>, Record<never, never>>;
5578
7014
  delete: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5579
7015
  id: import("zod").ZodUUID;
5580
7016
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5581
7017
  id: import("zod").ZodUUID;
5582
- }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_BETA_RESTRICTED" | "EBOOK_NOT_FOUND">>, Record<never, never>>;
7018
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EBOOK_NOT_FOUND">>, Record<never, never>>;
5583
7019
  };
5584
7020
  emailPreferences: {
5585
7021
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -5604,10 +7040,12 @@ export declare const contract: {
5604
7040
  subscribed: import("zod").ZodBoolean;
5605
7041
  }, import("zod/v4/core").$strict>>;
5606
7042
  unsubscribedAll: import("zod").ZodBoolean;
7043
+ practiceReminderTime: import("zod").ZodNullable<import("zod").ZodString>;
5607
7044
  }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
5608
7045
  update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5609
7046
  categories: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
5610
7047
  unsubscribedAll: import("zod").ZodOptional<import("zod").ZodBoolean>;
7048
+ practiceReminderTime: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
5611
7049
  locale: import("zod").ZodEnum<{
5612
7050
  en: "en";
5613
7051
  es: "es";
@@ -5629,6 +7067,7 @@ export declare const contract: {
5629
7067
  subscribed: import("zod").ZodBoolean;
5630
7068
  }, import("zod/v4/core").$strict>>;
5631
7069
  unsubscribedAll: import("zod").ZodBoolean;
7070
+ practiceReminderTime: import("zod").ZodNullable<import("zod").ZodString>;
5632
7071
  }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
5633
7072
  getByToken: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5634
7073
  token: import("zod").ZodString;
@@ -5653,12 +7092,14 @@ export declare const contract: {
5653
7092
  subscribed: import("zod").ZodBoolean;
5654
7093
  }, import("zod/v4/core").$strict>>;
5655
7094
  unsubscribedAll: import("zod").ZodBoolean;
7095
+ practiceReminderTime: import("zod").ZodNullable<import("zod").ZodString>;
5656
7096
  maskedEmail: import("zod").ZodString;
5657
7097
  highlightCategory: import("zod").ZodNullable<import("zod").ZodString>;
5658
7098
  }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EMAIL_LINK_INVALID">>, Record<never, never>>;
5659
7099
  updateByToken: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5660
7100
  categories: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
5661
7101
  unsubscribedAll: import("zod").ZodOptional<import("zod").ZodBoolean>;
7102
+ practiceReminderTime: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
5662
7103
  token: import("zod").ZodString;
5663
7104
  locale: import("zod").ZodEnum<{
5664
7105
  en: "en";
@@ -5681,6 +7122,7 @@ export declare const contract: {
5681
7122
  subscribed: import("zod").ZodBoolean;
5682
7123
  }, import("zod/v4/core").$strict>>;
5683
7124
  unsubscribedAll: import("zod").ZodBoolean;
7125
+ practiceReminderTime: import("zod").ZodNullable<import("zod").ZodString>;
5684
7126
  maskedEmail: import("zod").ZodString;
5685
7127
  highlightCategory: import("zod").ZodNullable<import("zod").ZodString>;
5686
7128
  }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "EMAIL_LINK_INVALID">>, Record<never, never>>;
@@ -5688,16 +7130,61 @@ export declare const contract: {
5688
7130
  featureAccess: {
5689
7131
  status: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
5690
7132
  featureKey: import("zod").ZodEnum<{
5691
- ebook: "ebook";
7133
+ media: "media";
5692
7134
  }>;
5693
7135
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
5694
7136
  featureKey: import("zod").ZodEnum<{
5695
- ebook: "ebook";
7137
+ media: "media";
5696
7138
  }>;
5697
7139
  allowed: import("zod").ZodBoolean;
5698
7140
  }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
5699
7141
  };
5700
7142
  hostedAi: {
7143
+ pools: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
7144
+ feature: import("zod").ZodEnum<{
7145
+ customAction: "customAction";
7146
+ inputTranslation: "inputTranslation";
7147
+ languageDetection: "languageDetection";
7148
+ noteSuggestion: "noteSuggestion";
7149
+ pageTranslation: "pageTranslation";
7150
+ pdfTranslation: "pdfTranslation";
7151
+ selectionTranslation: "selectionTranslation";
7152
+ videoSubtitles: "videoSubtitles";
7153
+ }>;
7154
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7155
+ pools: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
7156
+ periodKind: import("zod").ZodEnum<{
7157
+ daily: "daily";
7158
+ weekly: "weekly";
7159
+ }>;
7160
+ usedPercent: import("zod").ZodNumber;
7161
+ resetAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
7162
+ features: import("zod").ZodArray<import("zod").ZodEnum<{
7163
+ customAction: "customAction";
7164
+ inputTranslation: "inputTranslation";
7165
+ languageDetection: "languageDetection";
7166
+ noteSuggestion: "noteSuggestion";
7167
+ pageTranslation: "pageTranslation";
7168
+ pdfTranslation: "pdfTranslation";
7169
+ selectionTranslation: "selectionTranslation";
7170
+ videoSubtitles: "videoSubtitles";
7171
+ }>>;
7172
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7173
+ periodKind: import("zod").ZodLiteral<"once">;
7174
+ usedPercent: import("zod").ZodNumber;
7175
+ expiresAt: import("zod").ZodISODateTime;
7176
+ features: import("zod").ZodArray<import("zod").ZodEnum<{
7177
+ customAction: "customAction";
7178
+ inputTranslation: "inputTranslation";
7179
+ languageDetection: "languageDetection";
7180
+ noteSuggestion: "noteSuggestion";
7181
+ pageTranslation: "pageTranslation";
7182
+ pdfTranslation: "pdfTranslation";
7183
+ selectionTranslation: "selectionTranslation";
7184
+ videoSubtitles: "videoSubtitles";
7185
+ }>>;
7186
+ }, import("zod/v4/core").$strict>], "periodKind">>;
7187
+ }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
5701
7188
  status: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
5702
7189
  credits: import("zod").ZodArray<import("zod").ZodObject<{
5703
7190
  periodKind: import("zod").ZodEnum<{
@@ -5712,6 +7199,7 @@ export declare const contract: {
5712
7199
  languageDetection: "languageDetection";
5713
7200
  noteSuggestion: "noteSuggestion";
5714
7201
  pageTranslation: "pageTranslation";
7202
+ pdfTranslation: "pdfTranslation";
5715
7203
  selectionTranslation: "selectionTranslation";
5716
7204
  videoSubtitles: "videoSubtitles";
5717
7205
  }>>;
@@ -5729,6 +7217,7 @@ export declare const contract: {
5729
7217
  languageDetection: "languageDetection";
5730
7218
  noteSuggestion: "noteSuggestion";
5731
7219
  pageTranslation: "pageTranslation";
7220
+ pdfTranslation: "pdfTranslation";
5732
7221
  selectionTranslation: "selectionTranslation";
5733
7222
  videoSubtitles: "videoSubtitles";
5734
7223
  }>>;
@@ -5742,6 +7231,7 @@ export declare const contract: {
5742
7231
  languageDetection: "languageDetection";
5743
7232
  noteSuggestion: "noteSuggestion";
5744
7233
  pageTranslation: "pageTranslation";
7234
+ pdfTranslation: "pdfTranslation";
5745
7235
  selectionTranslation: "selectionTranslation";
5746
7236
  videoSubtitles: "videoSubtitles";
5747
7237
  }>>;
@@ -6176,6 +7666,104 @@ export declare const contract: {
6176
7666
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
6177
7667
  clientId: import("zod").ZodString;
6178
7668
  }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
7669
+ usage: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7670
+ usedCalls: import("zod").ZodNumber;
7671
+ limit: import("zod").ZodNullable<import("zod").ZodNumber>;
7672
+ resetAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
7673
+ }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
7674
+ };
7675
+ media: {
7676
+ requestUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
7677
+ contentType: import("zod").ZodEnum<{
7678
+ "audio/mp4": "audio/mp4";
7679
+ "audio/mpeg": "audio/mpeg";
7680
+ "audio/wav": "audio/wav";
7681
+ "image/jpeg": "image/jpeg";
7682
+ "image/png": "image/png";
7683
+ "image/webp": "image/webp";
7684
+ }>;
7685
+ byteSize: import("zod").ZodNumber;
7686
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7687
+ assetId: import("zod").ZodUUID;
7688
+ upload: import("zod").ZodObject<{
7689
+ url: import("zod").ZodURL;
7690
+ headers: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
7691
+ }, import("zod/v4/core").$strict>;
7692
+ expiresAt: import("zod").ZodCoercedDate<unknown>;
7693
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "MEDIA_BETA_RESTRICTED" | "MEDIA_FILE_TOO_LARGE" | "MEDIA_QUOTA_EXCEEDED">>, Record<never, never>>;
7694
+ completeUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
7695
+ id: import("zod").ZodUUID;
7696
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7697
+ asset: import("zod").ZodObject<{
7698
+ id: import("zod").ZodUUID;
7699
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
7700
+ status: import("zod").ZodEnum<{
7701
+ failed: "failed";
7702
+ pending: "pending";
7703
+ processing: "processing";
7704
+ ready: "ready";
7705
+ }>;
7706
+ contentType: import("zod").ZodNullable<import("zod").ZodString>;
7707
+ fileByteSize: import("zod").ZodNumber;
7708
+ metadata: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
7709
+ kind: import("zod").ZodLiteral<"image">;
7710
+ width: import("zod").ZodNumber;
7711
+ height: import("zod").ZodNumber;
7712
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7713
+ kind: import("zod").ZodLiteral<"audio">;
7714
+ durationMs: import("zod").ZodNumber;
7715
+ }, import("zod/v4/core").$strict>], "kind">>;
7716
+ failureCode: import("zod").ZodNullable<import("zod").ZodEnum<{
7717
+ audio_too_long: "audio_too_long";
7718
+ file_too_large: "file_too_large";
7719
+ image_too_large: "image_too_large";
7720
+ invalid_file: "invalid_file";
7721
+ processing_failed: "processing_failed";
7722
+ quota_exceeded: "quota_exceeded";
7723
+ unsupported_format: "unsupported_format";
7724
+ }>>;
7725
+ createdAt: import("zod").ZodCoercedDate<unknown>;
7726
+ }, import("zod/v4/core").$strict>;
7727
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "MEDIA_BETA_RESTRICTED" | "MEDIA_NOT_FOUND" | "MEDIA_UPLOAD_NOT_COMPLETED">>, Record<never, never>>;
7728
+ get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
7729
+ id: import("zod").ZodUUID;
7730
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7731
+ asset: import("zod").ZodObject<{
7732
+ id: import("zod").ZodUUID;
7733
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
7734
+ status: import("zod").ZodEnum<{
7735
+ failed: "failed";
7736
+ pending: "pending";
7737
+ processing: "processing";
7738
+ ready: "ready";
7739
+ }>;
7740
+ contentType: import("zod").ZodNullable<import("zod").ZodString>;
7741
+ fileByteSize: import("zod").ZodNumber;
7742
+ metadata: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
7743
+ kind: import("zod").ZodLiteral<"image">;
7744
+ width: import("zod").ZodNumber;
7745
+ height: import("zod").ZodNumber;
7746
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7747
+ kind: import("zod").ZodLiteral<"audio">;
7748
+ durationMs: import("zod").ZodNumber;
7749
+ }, import("zod/v4/core").$strict>], "kind">>;
7750
+ failureCode: import("zod").ZodNullable<import("zod").ZodEnum<{
7751
+ audio_too_long: "audio_too_long";
7752
+ file_too_large: "file_too_large";
7753
+ image_too_large: "image_too_large";
7754
+ invalid_file: "invalid_file";
7755
+ processing_failed: "processing_failed";
7756
+ quota_exceeded: "quota_exceeded";
7757
+ unsupported_format: "unsupported_format";
7758
+ }>>;
7759
+ createdAt: import("zod").ZodCoercedDate<unknown>;
7760
+ }, import("zod/v4/core").$strict>;
7761
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "MEDIA_BETA_RESTRICTED" | "MEDIA_NOT_FOUND">>, Record<never, never>>;
7762
+ usage: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7763
+ usedBytes: import("zod").ZodNumber;
7764
+ reservedBytes: import("zod").ZodNumber;
7765
+ limitBytes: import("zod").ZodNumber;
7766
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "MEDIA_BETA_RESTRICTED">>, Record<never, never>>;
6179
7767
  };
6180
7768
  notebase: {
6181
7769
  list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
@@ -6219,6 +7807,11 @@ export declare const contract: {
6219
7807
  "FSRS-7": "FSRS-7";
6220
7808
  }>;
6221
7809
  srsSleepingAt: import("zod").ZodNullable<import("zod").ZodDate>;
7810
+ srsSleepSource: import("zod").ZodNullable<import("zod").ZodEnum<{
7811
+ agent: "agent";
7812
+ auto: "auto";
7813
+ manual: "manual";
7814
+ }>>;
6222
7815
  createdAt: import("zod").ZodCoercedDate<unknown>;
6223
7816
  updatedAt: import("zod").ZodCoercedDate<unknown>;
6224
7817
  notebaseColumns: import("zod").ZodArray<import("zod").ZodObject<{
@@ -6388,6 +7981,11 @@ export declare const contract: {
6388
7981
  "FSRS-7": "FSRS-7";
6389
7982
  }>;
6390
7983
  srsSleepingAt: import("zod").ZodNullable<import("zod").ZodDate>;
7984
+ srsSleepSource: import("zod").ZodNullable<import("zod").ZodEnum<{
7985
+ agent: "agent";
7986
+ auto: "auto";
7987
+ manual: "manual";
7988
+ }>>;
6391
7989
  createdAt: import("zod").ZodDate;
6392
7990
  updatedAt: import("zod").ZodDate;
6393
7991
  }, import("zod/v4/core").$strip>;
@@ -6422,6 +8020,11 @@ export declare const contract: {
6422
8020
  "FSRS-7": "FSRS-7";
6423
8021
  }>;
6424
8022
  srsSleepingAt: import("zod").ZodNullable<import("zod").ZodDate>;
8023
+ srsSleepSource: import("zod").ZodNullable<import("zod").ZodEnum<{
8024
+ agent: "agent";
8025
+ auto: "auto";
8026
+ manual: "manual";
8027
+ }>>;
6425
8028
  createdAt: import("zod").ZodDate;
6426
8029
  updatedAt: import("zod").ZodDate;
6427
8030
  }, import("zod/v4/core").$strip>;
@@ -6744,6 +8347,268 @@ export declare const contract: {
6744
8347
  txid: import("zod").ZodNumber;
6745
8348
  }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "CONCURRENT_POSITION_CONFLICT" | "NOTEBASE_NOT_FOUND">>, Record<never, never>>;
6746
8349
  };
8350
+ pdfTranslation: {
8351
+ status: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8352
+ freeTrialsRemaining: import("zod").ZodNumber;
8353
+ funded: import("zod").ZodBoolean;
8354
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Record<never, never>>;
8355
+ list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8356
+ items: import("zod").ZodArray<import("zod").ZodObject<{
8357
+ id: import("zod").ZodUUID;
8358
+ status: import("zod").ZodEnum<{
8359
+ cancel_requested: "cancel_requested";
8360
+ cancelled: "cancelled";
8361
+ expired: "expired";
8362
+ failed: "failed";
8363
+ queued: "queued";
8364
+ running: "running";
8365
+ succeeded: "succeeded";
8366
+ }>;
8367
+ sourceFileName: import("zod").ZodString;
8368
+ targetLanguage: import("zod").ZodString;
8369
+ modelTier: import("zod").ZodEnum<{
8370
+ advance: "advance";
8371
+ normal: "normal";
8372
+ }>;
8373
+ batchId: import("zod").ZodUUID;
8374
+ batchPosition: import("zod").ZodNumber;
8375
+ waitingAhead: import("zod").ZodNullable<import("zod").ZodNumber>;
8376
+ freeTrial: import("zod").ZodBoolean;
8377
+ outputs: import("zod").ZodObject<{
8378
+ translated: import("zod").ZodBoolean;
8379
+ bilingual: import("zod").ZodBoolean;
8380
+ }, import("zod/v4/core").$strict>;
8381
+ pageCount: import("zod").ZodNumber;
8382
+ progressStage: import("zod").ZodNullable<import("zod").ZodString>;
8383
+ progressPercent: import("zod").ZodNumber;
8384
+ estimatedCostNanoUsd: import("zod").ZodNumber;
8385
+ chargedCostNanoUsd: import("zod").ZodNumber;
8386
+ error: import("zod").ZodNullable<import("zod").ZodObject<{
8387
+ category: import("zod").ZodString;
8388
+ message: import("zod").ZodString;
8389
+ }, import("zod/v4/core").$strict>>;
8390
+ workerRelease: import("zod").ZodNullable<import("zod").ZodString>;
8391
+ createdAt: import("zod").ZodCoercedDate<unknown>;
8392
+ startedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8393
+ completedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8394
+ outputExpiresAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8395
+ }, import("zod/v4/core").$strict>>;
8396
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Record<never, never>>;
8397
+ requestUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8398
+ fileName: import("zod").ZodString;
8399
+ fileByteSize: import("zod").ZodNumber;
8400
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8401
+ uploadId: import("zod").ZodUUID;
8402
+ upload: import("zod").ZodObject<{
8403
+ url: import("zod").ZodURL;
8404
+ headers: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
8405
+ }, import("zod/v4/core").$strict>;
8406
+ expiresAt: import("zod").ZodCoercedDate<unknown>;
8407
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_FILE_TOO_LARGE">>, Record<never, never>>;
8408
+ submit: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8409
+ uploadIds: import("zod").ZodArray<import("zod").ZodUUID>;
8410
+ idempotencyKey: import("zod").ZodString;
8411
+ targetLanguage: import("zod").ZodString;
8412
+ modelTier: import("zod").ZodEnum<{
8413
+ advance: "advance";
8414
+ normal: "normal";
8415
+ }>;
8416
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8417
+ batchId: import("zod").ZodUUID;
8418
+ jobs: import("zod").ZodArray<import("zod").ZodObject<{
8419
+ id: import("zod").ZodUUID;
8420
+ status: import("zod").ZodEnum<{
8421
+ cancel_requested: "cancel_requested";
8422
+ cancelled: "cancelled";
8423
+ expired: "expired";
8424
+ failed: "failed";
8425
+ queued: "queued";
8426
+ running: "running";
8427
+ succeeded: "succeeded";
8428
+ }>;
8429
+ sourceFileName: import("zod").ZodString;
8430
+ targetLanguage: import("zod").ZodString;
8431
+ modelTier: import("zod").ZodEnum<{
8432
+ advance: "advance";
8433
+ normal: "normal";
8434
+ }>;
8435
+ batchId: import("zod").ZodUUID;
8436
+ batchPosition: import("zod").ZodNumber;
8437
+ waitingAhead: import("zod").ZodNullable<import("zod").ZodNumber>;
8438
+ freeTrial: import("zod").ZodBoolean;
8439
+ outputs: import("zod").ZodObject<{
8440
+ translated: import("zod").ZodBoolean;
8441
+ bilingual: import("zod").ZodBoolean;
8442
+ }, import("zod/v4/core").$strict>;
8443
+ pageCount: import("zod").ZodNumber;
8444
+ progressStage: import("zod").ZodNullable<import("zod").ZodString>;
8445
+ progressPercent: import("zod").ZodNumber;
8446
+ estimatedCostNanoUsd: import("zod").ZodNumber;
8447
+ chargedCostNanoUsd: import("zod").ZodNumber;
8448
+ error: import("zod").ZodNullable<import("zod").ZodObject<{
8449
+ category: import("zod").ZodString;
8450
+ message: import("zod").ZodString;
8451
+ }, import("zod/v4/core").$strict>>;
8452
+ workerRelease: import("zod").ZodNullable<import("zod").ZodString>;
8453
+ createdAt: import("zod").ZodCoercedDate<unknown>;
8454
+ startedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8455
+ completedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8456
+ outputExpiresAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8457
+ }, import("zod/v4/core").$strict>>;
8458
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "HOSTED_AI_TIER_RESTRICTED" | "PDF_TRANSLATION_ALREADY_TRANSLATED" | "PDF_TRANSLATION_FILE_TOO_LARGE" | "PDF_TRANSLATION_IDEMPOTENCY_CONFLICT" | "PDF_TRANSLATION_INSUFFICIENT_CREDIT" | "PDF_TRANSLATION_INVALID_PDF" | "PDF_TRANSLATION_PAGE_LIMIT_EXCEEDED" | "PDF_TRANSLATION_QUEUE_FULL" | "PDF_TRANSLATION_UPLOAD_EXPIRED" | "PDF_TRANSLATION_UPLOAD_NOT_COMPLETED" | "PDF_TRANSLATION_UPLOAD_NOT_FOUND">>, Record<never, never>>;
8459
+ get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8460
+ id: import("zod").ZodUUID;
8461
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8462
+ job: import("zod").ZodObject<{
8463
+ id: import("zod").ZodUUID;
8464
+ status: import("zod").ZodEnum<{
8465
+ cancel_requested: "cancel_requested";
8466
+ cancelled: "cancelled";
8467
+ expired: "expired";
8468
+ failed: "failed";
8469
+ queued: "queued";
8470
+ running: "running";
8471
+ succeeded: "succeeded";
8472
+ }>;
8473
+ sourceFileName: import("zod").ZodString;
8474
+ targetLanguage: import("zod").ZodString;
8475
+ modelTier: import("zod").ZodEnum<{
8476
+ advance: "advance";
8477
+ normal: "normal";
8478
+ }>;
8479
+ batchId: import("zod").ZodUUID;
8480
+ batchPosition: import("zod").ZodNumber;
8481
+ waitingAhead: import("zod").ZodNullable<import("zod").ZodNumber>;
8482
+ freeTrial: import("zod").ZodBoolean;
8483
+ outputs: import("zod").ZodObject<{
8484
+ translated: import("zod").ZodBoolean;
8485
+ bilingual: import("zod").ZodBoolean;
8486
+ }, import("zod/v4/core").$strict>;
8487
+ pageCount: import("zod").ZodNumber;
8488
+ progressStage: import("zod").ZodNullable<import("zod").ZodString>;
8489
+ progressPercent: import("zod").ZodNumber;
8490
+ estimatedCostNanoUsd: import("zod").ZodNumber;
8491
+ chargedCostNanoUsd: import("zod").ZodNumber;
8492
+ error: import("zod").ZodNullable<import("zod").ZodObject<{
8493
+ category: import("zod").ZodString;
8494
+ message: import("zod").ZodString;
8495
+ }, import("zod/v4/core").$strict>>;
8496
+ workerRelease: import("zod").ZodNullable<import("zod").ZodString>;
8497
+ createdAt: import("zod").ZodCoercedDate<unknown>;
8498
+ startedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8499
+ completedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8500
+ outputExpiresAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8501
+ }, import("zod/v4/core").$strict>;
8502
+ batch: import("zod").ZodArray<import("zod").ZodObject<{
8503
+ id: import("zod").ZodUUID;
8504
+ status: import("zod").ZodEnum<{
8505
+ cancel_requested: "cancel_requested";
8506
+ cancelled: "cancelled";
8507
+ expired: "expired";
8508
+ failed: "failed";
8509
+ queued: "queued";
8510
+ running: "running";
8511
+ succeeded: "succeeded";
8512
+ }>;
8513
+ sourceFileName: import("zod").ZodString;
8514
+ targetLanguage: import("zod").ZodString;
8515
+ modelTier: import("zod").ZodEnum<{
8516
+ advance: "advance";
8517
+ normal: "normal";
8518
+ }>;
8519
+ batchId: import("zod").ZodUUID;
8520
+ batchPosition: import("zod").ZodNumber;
8521
+ waitingAhead: import("zod").ZodNullable<import("zod").ZodNumber>;
8522
+ freeTrial: import("zod").ZodBoolean;
8523
+ outputs: import("zod").ZodObject<{
8524
+ translated: import("zod").ZodBoolean;
8525
+ bilingual: import("zod").ZodBoolean;
8526
+ }, import("zod/v4/core").$strict>;
8527
+ pageCount: import("zod").ZodNumber;
8528
+ progressStage: import("zod").ZodNullable<import("zod").ZodString>;
8529
+ progressPercent: import("zod").ZodNumber;
8530
+ estimatedCostNanoUsd: import("zod").ZodNumber;
8531
+ chargedCostNanoUsd: import("zod").ZodNumber;
8532
+ error: import("zod").ZodNullable<import("zod").ZodObject<{
8533
+ category: import("zod").ZodString;
8534
+ message: import("zod").ZodString;
8535
+ }, import("zod/v4/core").$strict>>;
8536
+ workerRelease: import("zod").ZodNullable<import("zod").ZodString>;
8537
+ createdAt: import("zod").ZodCoercedDate<unknown>;
8538
+ startedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8539
+ completedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8540
+ outputExpiresAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8541
+ }, import("zod/v4/core").$strict>>;
8542
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_NOT_FOUND">>, Record<never, never>>;
8543
+ cancel: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8544
+ id: import("zod").ZodUUID;
8545
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8546
+ id: import("zod").ZodUUID;
8547
+ status: import("zod").ZodEnum<{
8548
+ cancel_requested: "cancel_requested";
8549
+ cancelled: "cancelled";
8550
+ expired: "expired";
8551
+ failed: "failed";
8552
+ queued: "queued";
8553
+ running: "running";
8554
+ succeeded: "succeeded";
8555
+ }>;
8556
+ sourceFileName: import("zod").ZodString;
8557
+ targetLanguage: import("zod").ZodString;
8558
+ modelTier: import("zod").ZodEnum<{
8559
+ advance: "advance";
8560
+ normal: "normal";
8561
+ }>;
8562
+ batchId: import("zod").ZodUUID;
8563
+ batchPosition: import("zod").ZodNumber;
8564
+ waitingAhead: import("zod").ZodNullable<import("zod").ZodNumber>;
8565
+ freeTrial: import("zod").ZodBoolean;
8566
+ outputs: import("zod").ZodObject<{
8567
+ translated: import("zod").ZodBoolean;
8568
+ bilingual: import("zod").ZodBoolean;
8569
+ }, import("zod/v4/core").$strict>;
8570
+ pageCount: import("zod").ZodNumber;
8571
+ progressStage: import("zod").ZodNullable<import("zod").ZodString>;
8572
+ progressPercent: import("zod").ZodNumber;
8573
+ estimatedCostNanoUsd: import("zod").ZodNumber;
8574
+ chargedCostNanoUsd: import("zod").ZodNumber;
8575
+ error: import("zod").ZodNullable<import("zod").ZodObject<{
8576
+ category: import("zod").ZodString;
8577
+ message: import("zod").ZodString;
8578
+ }, import("zod/v4/core").$strict>>;
8579
+ workerRelease: import("zod").ZodNullable<import("zod").ZodString>;
8580
+ createdAt: import("zod").ZodCoercedDate<unknown>;
8581
+ startedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8582
+ completedAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8583
+ outputExpiresAt: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
8584
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_NOT_CANCELLABLE" | "PDF_TRANSLATION_NOT_FOUND">>, Record<never, never>>;
8585
+ getPreviewUrl: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8586
+ id: import("zod").ZodUUID;
8587
+ variant: import("zod").ZodEnum<{
8588
+ bilingual: "bilingual";
8589
+ translated: "translated";
8590
+ }>;
8591
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8592
+ url: import("zod").ZodURL;
8593
+ expiresAt: import("zod").ZodCoercedDate<unknown>;
8594
+ watermarked: import("zod").ZodBoolean;
8595
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_NOT_FOUND" | "PDF_TRANSLATION_NOT_READY">>, Record<never, never>>;
8596
+ getDownloadUrl: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8597
+ id: import("zod").ZodUUID;
8598
+ variant: import("zod").ZodEnum<{
8599
+ bilingual: "bilingual";
8600
+ translated: "translated";
8601
+ }>;
8602
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8603
+ url: import("zod").ZodURL;
8604
+ expiresAt: import("zod").ZodCoercedDate<unknown>;
8605
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_DOWNLOAD_RESTRICTED" | "PDF_TRANSLATION_NOT_FOUND" | "PDF_TRANSLATION_NOT_READY">>, Record<never, never>>;
8606
+ delete: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8607
+ id: import("zod").ZodUUID;
8608
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8609
+ id: import("zod").ZodUUID;
8610
+ }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_UNAVAILABLE">>, Pick<import("@orpc/contract").ErrorMap, "PDF_TRANSLATION_NOT_DELETABLE" | "PDF_TRANSLATION_NOT_FOUND">>, Record<never, never>>;
8611
+ };
6747
8612
  speech: {
6748
8613
  getPreferences: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
6749
8614
  languageVoices: import("zod").ZodRecord<import("zod").ZodEnum<{
@@ -8042,7 +9907,7 @@ export declare const contract: {
8042
9907
  }, import("zod/v4/core").$strict>;
8043
9908
  createdAt: import("zod").ZodCoercedDate<unknown>;
8044
9909
  }, import("zod/v4/core").$strip>;
8045
- txid: import("zod").ZodNumber;
9910
+ txid: import("zod").ZodNullable<import("zod").ZodNumber>;
8046
9911
  created: import("zod").ZodBoolean;
8047
9912
  }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "CARD_NOT_FOUND" | "CARD_NOT_REVIEWABLE" | "CARD_REVIEW_STATE_STALE">>, {
8048
9913
  summary: string;
@@ -8108,6 +9973,135 @@ export declare const contract: {
8108
9973
  summary: string;
8109
9974
  description: string;
8110
9975
  } & Record<never, never>>;
9976
+ previewPostpone: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
9977
+ notebaseId: import("zod").ZodUUID;
9978
+ timezone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
9979
+ dailyLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
9980
+ flattenFullRange: import("zod").ZodOptional<import("zod").ZodBoolean>;
9981
+ }, import("zod/v4/core").$strict>, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
9982
+ status: import("zod").ZodLiteral<"ready">;
9983
+ expiresAt: import("zod").ZodDate;
9984
+ q: import("zod").ZodNumber;
9985
+ qConfigured: import("zod").ZodNumber;
9986
+ qMax: import("zod").ZodNumber;
9987
+ overdueReviewCount: import("zod").ZodNumber;
9988
+ dueTodayReviewCount: import("zod").ZodNumber;
9989
+ usedToday: import("zod").ZodNumber;
9990
+ plan: import("zod").ZodObject<{
9991
+ planId: import("zod").ZodString;
9992
+ limit: import("zod").ZodNumber;
9993
+ steps: import("zod").ZodArray<import("zod").ZodObject<{
9994
+ threshold: import("zod").ZodNumber;
9995
+ moved: import("zod").ZodNumber;
9996
+ overflowToday: import("zod").ZodNumber;
9997
+ meanRiBefore: import("zod").ZodNumber;
9998
+ meanRAfter: import("zod").ZodNumber;
9999
+ days: import("zod").ZodArray<import("zod").ZodObject<{
10000
+ day: import("zod").ZodNumber;
10001
+ postponed: import("zod").ZodNumber;
10002
+ rSum: import("zod").ZodNumber;
10003
+ }, import("zod/v4/core").$strip>>;
10004
+ flatten: import("zod").ZodNullable<import("zod").ZodObject<{
10005
+ checked: import("zod").ZodBoolean;
10006
+ fromToday: import("zod").ZodNumber;
10007
+ fromFuture: import("zod").ZodNumber;
10008
+ fromDays: import("zod").ZodNumber;
10009
+ kept: import("zod").ZodObject<{
10010
+ stuck: import("zod").ZodNumber;
10011
+ noRoom: import("zod").ZodNumber;
10012
+ }, import("zod/v4/core").$strip>;
10013
+ qSuggest: import("zod").ZodNumber;
10014
+ meanRAfter: import("zod").ZodNumber;
10015
+ days: import("zod").ZodArray<import("zod").ZodObject<{
10016
+ day: import("zod").ZodNumber;
10017
+ scheduled: import("zod").ZodNumber;
10018
+ backlog: import("zod").ZodNumber;
10019
+ backlogRSum: import("zod").ZodNumber;
10020
+ surplusIn: import("zod").ZodNumber;
10021
+ surplusRSum: import("zod").ZodNumber;
10022
+ surplusStay: import("zod").ZodNumber;
10023
+ surplusOut: import("zod").ZodNumber;
10024
+ }, import("zod/v4/core").$strip>>;
10025
+ postponedAgain: import("zod").ZodObject<{
10026
+ count: import("zod").ZodNumber;
10027
+ rSum: import("zod").ZodNumber;
10028
+ }, import("zod/v4/core").$strip>;
10029
+ }, import("zod/v4/core").$strip>>;
10030
+ }, import("zod/v4/core").$strip>>;
10031
+ skipped: import("zod").ZodObject<{
10032
+ belowFloor: import("zod").ZodNumber;
10033
+ maxInterval: import("zod").ZodNumber;
10034
+ invalid: import("zod").ZodNumber;
10035
+ }, import("zod/v4/core").$strip>;
10036
+ }, import("zod/v4/core").$strip>;
10037
+ suggested: import("zod").ZodNullable<import("zod").ZodObject<{
10038
+ planId: import("zod").ZodString;
10039
+ limit: import("zod").ZodNumber;
10040
+ steps: import("zod").ZodArray<import("zod").ZodObject<{
10041
+ threshold: import("zod").ZodNumber;
10042
+ moved: import("zod").ZodNumber;
10043
+ overflowToday: import("zod").ZodNumber;
10044
+ meanRiBefore: import("zod").ZodNumber;
10045
+ meanRAfter: import("zod").ZodNumber;
10046
+ days: import("zod").ZodArray<import("zod").ZodObject<{
10047
+ day: import("zod").ZodNumber;
10048
+ postponed: import("zod").ZodNumber;
10049
+ rSum: import("zod").ZodNumber;
10050
+ }, import("zod/v4/core").$strip>>;
10051
+ flatten: import("zod").ZodNullable<import("zod").ZodObject<{
10052
+ checked: import("zod").ZodBoolean;
10053
+ fromToday: import("zod").ZodNumber;
10054
+ fromFuture: import("zod").ZodNumber;
10055
+ fromDays: import("zod").ZodNumber;
10056
+ kept: import("zod").ZodObject<{
10057
+ stuck: import("zod").ZodNumber;
10058
+ noRoom: import("zod").ZodNumber;
10059
+ }, import("zod/v4/core").$strip>;
10060
+ qSuggest: import("zod").ZodNumber;
10061
+ meanRAfter: import("zod").ZodNumber;
10062
+ days: import("zod").ZodArray<import("zod").ZodObject<{
10063
+ day: import("zod").ZodNumber;
10064
+ scheduled: import("zod").ZodNumber;
10065
+ backlog: import("zod").ZodNumber;
10066
+ backlogRSum: import("zod").ZodNumber;
10067
+ surplusIn: import("zod").ZodNumber;
10068
+ surplusRSum: import("zod").ZodNumber;
10069
+ surplusStay: import("zod").ZodNumber;
10070
+ surplusOut: import("zod").ZodNumber;
10071
+ }, import("zod/v4/core").$strip>>;
10072
+ postponedAgain: import("zod").ZodObject<{
10073
+ count: import("zod").ZodNumber;
10074
+ rSum: import("zod").ZodNumber;
10075
+ }, import("zod/v4/core").$strip>;
10076
+ }, import("zod/v4/core").$strip>>;
10077
+ }, import("zod/v4/core").$strip>>;
10078
+ skipped: import("zod").ZodObject<{
10079
+ belowFloor: import("zod").ZodNumber;
10080
+ maxInterval: import("zod").ZodNumber;
10081
+ invalid: import("zod").ZodNumber;
10082
+ }, import("zod/v4/core").$strip>;
10083
+ }, import("zod/v4/core").$strip>>;
10084
+ baseline: import("zod").ZodArray<import("zod").ZodObject<{
10085
+ day: import("zod").ZodNumber;
10086
+ scheduled: import("zod").ZodNumber;
10087
+ rSum: import("zod").ZodNullable<import("zod").ZodNumber>;
10088
+ }, import("zod/v4/core").$strip>>;
10089
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
10090
+ status: import("zod").ZodLiteral<"quotaZero">;
10091
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
10092
+ status: import("zod").ZodLiteral<"invalidWeights">;
10093
+ }, import("zod/v4/core").$strip>], "status">, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTEBASE_NOT_FOUND" | "RESCHEDULE_DAILY_LIMIT_INVALID" | "RESCHEDULE_PREVIEW_TIMEOUT">>, Record<never, never>>;
10094
+ applyPostpone: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
10095
+ notebaseId: import("zod").ZodUUID;
10096
+ planId: import("zod").ZodString;
10097
+ unlimited: import("zod").ZodOptional<import("zod").ZodBoolean>;
10098
+ threshold: import("zod").ZodNumber;
10099
+ flatten: import("zod").ZodOptional<import("zod").ZodBoolean>;
10100
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
10101
+ moved: import("zod").ZodNumber;
10102
+ txid: import("zod").ZodNullable<import("zod").ZodNumber>;
10103
+ reviewsPerDay: import("zod").ZodNumber;
10104
+ }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTEBASE_NOT_FOUND" | "RESCHEDULE_PLAN_EXPIRED" | "RESCHEDULE_STALE">>, Record<never, never>>;
8111
10105
  };
8112
10106
  stats: {
8113
10107
  activity: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -8155,6 +10149,82 @@ export declare const contract: {
8155
10149
  delta: import("zod").ZodNumber;
8156
10150
  }, import("zod/v4/core").$strict>>;
8157
10151
  }, import("zod/v4/core").$strict>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTEBASE_NOT_FOUND">>, Record<never, never>>;
10152
+ backlogStats: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
10153
+ notebaseIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
10154
+ timezone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
10155
+ }, import("zod/v4/core").$strict>, import("zod").ZodRecord<import("zod").ZodUUID, import("zod").ZodObject<{
10156
+ overdueReviewCount: import("zod").ZodNumber;
10157
+ dailyLimit: import("zod").ZodNumber;
10158
+ backlogDays: import("zod").ZodNumber;
10159
+ }, import("zod/v4/core").$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTEBASE_NOT_FOUND">>, {
10160
+ summary: string;
10161
+ description: string;
10162
+ } & Record<never, never>>;
10163
+ };
10164
+ telemetry: {
10165
+ reportWebSync: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
10166
+ events: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
10167
+ type: import("zod").ZodLiteral<"writeWait">;
10168
+ operation: import("zod").ZodEnum<{
10169
+ bury: "bury";
10170
+ cardStatus: "cardStatus";
10171
+ createTemplate: "createTemplate";
10172
+ delete: "delete";
10173
+ deleteNote: "deleteNote";
10174
+ insert: "insert";
10175
+ review: "review";
10176
+ reviewReplay: "reviewReplay";
10177
+ setSleep: "setSleep";
10178
+ srsSettings: "srsSettings";
10179
+ suspend: "suspend";
10180
+ undo: "undo";
10181
+ update: "update";
10182
+ updateTemplate: "updateTemplate";
10183
+ }>;
10184
+ outcome: import("zod").ZodEnum<{
10185
+ failed: "failed";
10186
+ recovered: "recovered";
10187
+ }>;
10188
+ transport: import("zod").ZodEnum<{
10189
+ longPoll: "longPoll";
10190
+ sse: "sse";
10191
+ }>;
10192
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
10193
+ type: import("zod").ZodLiteral<"streamError">;
10194
+ shape: import("zod").ZodEnum<{
10195
+ cardTemplates: "cardTemplates";
10196
+ cards: "cards";
10197
+ mediaAssets: "mediaAssets";
10198
+ notebaseColumns: "notebaseColumns";
10199
+ notebaseRows: "notebaseRows";
10200
+ notebases: "notebases";
10201
+ revlogs: "revlogs";
10202
+ }>;
10203
+ errorType: import("zod").ZodEnum<{
10204
+ badRequest: "badRequest";
10205
+ clientError: "clientError";
10206
+ forbidden: "forbidden";
10207
+ missingHeaders: "missingHeaders";
10208
+ unauthorized: "unauthorized";
10209
+ unexpected: "unexpected";
10210
+ }>;
10211
+ phase: import("zod").ZodEnum<{
10212
+ initial: "initial";
10213
+ live: "live";
10214
+ }>;
10215
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
10216
+ type: import("zod").ZodLiteral<"unavailable">;
10217
+ page: import("zod").ZodEnum<{
10218
+ reviewCombined: "reviewCombined";
10219
+ reviewNotebase: "reviewNotebase";
10220
+ }>;
10221
+ reason: import("zod").ZodEnum<{
10222
+ notebaseGone: "notebaseGone";
10223
+ streamFailed: "streamFailed";
10224
+ syncTimeout: "syncTimeout";
10225
+ }>;
10226
+ }, import("zod/v4/core").$strict>], "type">>;
10227
+ }, import("zod/v4/core").$strict>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
8158
10228
  };
8159
10229
  user: {
8160
10230
  ensureTimezone: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -8294,6 +10364,5 @@ export declare const contract: {
8294
10364
  };
8295
10365
  };
8296
10366
  export type ORPCRouterClient = ContractRouterClient<typeof contract>;
8297
- //#endregion
8298
10367
  export { type AgentRoute, type CardState, type ReviewRating, SRS_REVIEW_DURATION_MS_MAX, type ScheduleStatus, type SchedulingParams, cardStateSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema };
8299
10368
  //# sourceMappingURL=index.d.ts.map