@read-frog/api-contract 0.24.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";
@@ -352,10 +349,6 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
352
349
  readonly message: "Concurrent position conflict, please retry";
353
350
  readonly status: 409;
354
351
  };
355
- readonly EBOOK_BETA_RESTRICTED: {
356
- readonly message: "Ebooks are currently in beta for selected accounts";
357
- readonly status: 403;
358
- };
359
352
  readonly EBOOK_NOT_FOUND: {
360
353
  readonly message: "Ebook not found";
361
354
  readonly status: 404;
@@ -372,6 +365,26 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
372
365
  readonly message: "Ebook upload has not been completed";
373
366
  readonly status: 409;
374
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
+ };
375
388
  readonly EMAIL_LINK_INVALID: {
376
389
  readonly message: "This email link is not valid";
377
390
  readonly status: 400;
@@ -715,10 +728,6 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
715
728
  readonly message: "Concurrent position conflict, please retry";
716
729
  readonly status: 409;
717
730
  };
718
- readonly EBOOK_BETA_RESTRICTED: {
719
- readonly message: "Ebooks are currently in beta for selected accounts";
720
- readonly status: 403;
721
- };
722
731
  readonly EBOOK_NOT_FOUND: {
723
732
  readonly message: "Ebook not found";
724
733
  readonly status: 404;
@@ -735,6 +744,26 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
735
744
  readonly message: "Ebook upload has not been completed";
736
745
  readonly status: 409;
737
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
+ };
738
767
  readonly EMAIL_LINK_INVALID: {
739
768
  readonly message: "This email link is not valid";
740
769
  readonly status: 400;
@@ -834,8 +863,6 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
834
863
  };
835
864
  }[TCode];
836
865
  export declare function pickPublicErrorMap<const TCodes extends readonly PublicAppErrorCode[]>(...codes: TCodes): Pick<ErrorMap, TCodes[number]>;
837
- //#endregion
838
- //#region src/schemas/app-locale.d.ts
839
866
  /**
840
867
  * The languages the website is in (`project.inlang/settings.json`; a test in
841
868
  * apps/www keeps the two in step). Used wherever the server writes for a
@@ -853,8 +880,6 @@ export declare const appLocaleSchema: z.ZodEnum<{
853
880
  "zh-TW": "zh-TW";
854
881
  }>;
855
882
  export type AppLocale = z.infer<typeof appLocaleSchema>;
856
- //#endregion
857
- //#region src/schemas/billing.d.ts
858
883
  export declare const billingIntervalSchema: z.ZodEnum<{
859
884
  month: "month";
860
885
  year: "year";
@@ -892,6 +917,21 @@ export declare const MCP_DAILY_CALL_LIMITS: {
892
917
  readonly pro: 50;
893
918
  readonly ultra: null;
894
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
+ };
895
935
  export declare const billingCheckoutPlanSchema: z.ZodEnum<{
896
936
  pro: "pro";
897
937
  ultra: "ultra";
@@ -1122,8 +1162,6 @@ export declare const billingCancelScheduledChangeOutputSchema: z.ZodObject<{
1122
1162
  success: z.ZodLiteral<true>;
1123
1163
  }, z.core.$strict>;
1124
1164
  export type BillingCancelScheduledChangeOutput = z.infer<typeof billingCancelScheduledChangeOutputSchema>;
1125
- //#endregion
1126
- //#region src/schemas/card.d.ts
1127
1165
  export declare const cardTemplateSchema: z.ZodObject<{
1128
1166
  id: z.ZodUUID;
1129
1167
  notebaseId: z.ZodUUID;
@@ -1578,8 +1616,6 @@ export declare const CardGenerateOutputSchema: z.ZodObject<{
1578
1616
  txid: z.ZodNumber;
1579
1617
  }, z.core.$strip>;
1580
1618
  export type CardGenerateOutput = z.infer<typeof CardGenerateOutputSchema>;
1581
- //#endregion
1582
- //#region src/schemas/ebook.d.ts
1583
1619
  export declare const ebookStatusSchema: z.ZodEnum<{
1584
1620
  pending: "pending";
1585
1621
  ready: "ready";
@@ -1693,6 +1729,7 @@ export declare const ebookRequestUploadInputSchema: z.ZodObject<{
1693
1729
  }>;
1694
1730
  byteSize: z.ZodNumber;
1695
1731
  }, z.core.$strict>>;
1732
+ uploadKey: z.ZodOptional<z.ZodUUID>;
1696
1733
  }, z.core.$strict>;
1697
1734
  export type EbookRequestUploadInput = z.infer<typeof ebookRequestUploadInputSchema>;
1698
1735
  /**
@@ -1802,8 +1839,6 @@ export declare const ebookDeleteOutputSchema: z.ZodObject<{
1802
1839
  id: z.ZodUUID;
1803
1840
  }, z.core.$strict>;
1804
1841
  export type EbookDeleteOutput = z.infer<typeof ebookDeleteOutputSchema>;
1805
- //#endregion
1806
- //#region src/schemas/email-preferences.d.ts
1807
1842
  /** A category's key, such as `promotions`. */
1808
1843
  export declare const emailCategoryKeySchema: z.ZodString;
1809
1844
  export type EmailCategoryKey = z.infer<typeof emailCategoryKeySchema>;
@@ -1942,27 +1977,23 @@ export declare const emailPreferencesUpdateByTokenInputSchema: z.ZodObject<{
1942
1977
  }>;
1943
1978
  }, z.core.$strict>;
1944
1979
  export type EmailPreferencesUpdateByTokenInput = z.infer<typeof emailPreferencesUpdateByTokenInputSchema>;
1945
- //#endregion
1946
- //#region src/schemas/feature-access.d.ts
1947
1980
  export declare const GatedFeatureKeySchema: z.ZodEnum<{
1948
- ebook: "ebook";
1981
+ media: "media";
1949
1982
  }>;
1950
1983
  export type GatedFeatureKey = z.infer<typeof GatedFeatureKeySchema>;
1951
1984
  export declare const FeatureAccessStatusInputSchema: z.ZodObject<{
1952
1985
  featureKey: z.ZodEnum<{
1953
- ebook: "ebook";
1986
+ media: "media";
1954
1987
  }>;
1955
1988
  }, z.core.$strict>;
1956
1989
  export type FeatureAccessStatusInput = z.infer<typeof FeatureAccessStatusInputSchema>;
1957
1990
  export declare const FeatureAccessStatusOutputSchema: z.ZodObject<{
1958
1991
  featureKey: z.ZodEnum<{
1959
- ebook: "ebook";
1992
+ media: "media";
1960
1993
  }>;
1961
1994
  allowed: z.ZodBoolean;
1962
1995
  }, z.core.$strip>;
1963
1996
  export type FeatureAccessStatusOutput = z.infer<typeof FeatureAccessStatusOutputSchema>;
1964
- //#endregion
1965
- //#region src/schemas/hosted-ai.d.ts
1966
1997
  export declare const HostedAiOutputFieldTypeSchema: z.ZodEnum<{
1967
1998
  number: "number";
1968
1999
  string: "string";
@@ -2655,8 +2686,136 @@ export type HostedAiCreditPoolStatus = z.infer<typeof HostedAiCreditPoolStatusSc
2655
2686
  export type HostedAiTierStatus = z.infer<typeof HostedAiTierStatusSchema>;
2656
2687
  export type HostedAiFeatureStatus = z.infer<typeof HostedAiFeatureStatusSchema>;
2657
2688
  export type HostedAiStatusOutput = z.infer<typeof HostedAiStatusOutputSchema>;
2658
- //#endregion
2659
- //#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>;
2660
2819
  export declare const MASTERY_GOAL_TARGET_MAX = 1000000;
2661
2820
  /** How many mastered cards to aim for: the cards `stats.srsMemoryGrowth` counts. */
2662
2821
  export declare const masteryGoalTargetSchema: z.ZodNumber;
@@ -2671,8 +2830,6 @@ export declare const masteryGoalOutputSchema: z.ZodObject<{
2671
2830
  target: z.ZodNullable<z.ZodNumber>;
2672
2831
  }, z.core.$strict>;
2673
2832
  export type MasteryGoalOutput = z.infer<typeof masteryGoalOutputSchema>;
2674
- //#endregion
2675
- //#region src/schemas/mcp-connection.d.ts
2676
2833
  export declare const mcpConnectionSchema: z.ZodObject<{
2677
2834
  clientId: z.ZodString;
2678
2835
  clientName: z.ZodNullable<z.ZodString>;
@@ -2699,8 +2856,17 @@ export type McpConnectionRevokeInput = z.infer<typeof mcpConnectionRevokeInputSc
2699
2856
  export declare const mcpConnectionRevokeOutputSchema: z.ZodObject<{
2700
2857
  clientId: z.ZodString;
2701
2858
  }, z.core.$strict>;
2702
- //#endregion
2703
- //#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>;
2704
2870
  export declare const NotebaseListInputSchema: z.ZodObject<{}, z.core.$strip>;
2705
2871
  export type NotebaseListInput = z.infer<typeof NotebaseListInputSchema>;
2706
2872
  export declare const notebaseSummarySchema: z.ZodObject<{
@@ -3076,8 +3242,6 @@ export declare const NotebaseGetSchemaOutputSchema: z.ZodObject<{
3076
3242
  }, z.core.$strip>>;
3077
3243
  }, z.core.$strip>;
3078
3244
  export type NotebaseGetSchemaOutput = z.infer<typeof NotebaseGetSchemaOutputSchema>;
3079
- //#endregion
3080
- //#region src/schemas/notebase-column.d.ts
3081
3245
  export declare const notebaseColumnWidthSchema: z.ZodNumber;
3082
3246
  export declare const notebaseColumnSchema: z.ZodObject<{
3083
3247
  id: z.ZodString;
@@ -3330,8 +3494,6 @@ export declare const NotebaseColumnReorderOutputSchema: z.ZodObject<{
3330
3494
  txid: z.ZodNumber;
3331
3495
  }, z.core.$strip>;
3332
3496
  export type NotebaseColumnReorderOutput = z.infer<typeof NotebaseColumnReorderOutputSchema>;
3333
- //#endregion
3334
- //#region src/schemas/notebase-row.d.ts
3335
3497
  export declare const notebaseRowCellsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3336
3498
  export declare const notebaseRowSchema: z.ZodObject<{
3337
3499
  id: z.ZodString;
@@ -3491,8 +3653,6 @@ export declare const NotebaseRowGetOutputSchema: z.ZodObject<{
3491
3653
  createdAt: z.ZodCoercedDate<unknown>;
3492
3654
  updatedAt: z.ZodCoercedDate<unknown>;
3493
3655
  }, z.core.$strip>;
3494
- //#endregion
3495
- //#region src/schemas/notebase-stats.d.ts
3496
3656
  export declare const notebaseActivityStatsItemSchema: z.ZodObject<{
3497
3657
  date: z.ZodISODate;
3498
3658
  notes: z.ZodNumber;
@@ -3518,8 +3678,6 @@ export declare const notebaseRowGrowthStatsOutputSchema: z.ZodObject<{
3518
3678
  }, z.core.$strict>>;
3519
3679
  }, z.core.$strict>;
3520
3680
  export type NotebaseRowGrowthStatsOutput = z.infer<typeof notebaseRowGrowthStatsOutputSchema>;
3521
- //#endregion
3522
- //#region src/schemas/notebase-view.d.ts
3523
3681
  export declare const notebaseViewTypeSchema: z.ZodEnum<{
3524
3682
  gallery: "gallery";
3525
3683
  kanban: "kanban";
@@ -3632,8 +3790,6 @@ export declare const notebaseViewSchema: z.ZodObject<{
3632
3790
  updatedAt: z.ZodCoercedDate<unknown>;
3633
3791
  }, z.core.$strip>;
3634
3792
  export type NotebaseView = z.infer<typeof notebaseViewSchema>;
3635
- //#endregion
3636
- //#region src/schemas/pdf-translation.d.ts
3637
3793
  export declare const pdfTranslationJobStatusSchema: z.ZodEnum<{
3638
3794
  cancel_requested: "cancel_requested";
3639
3795
  cancelled: "cancelled";
@@ -3941,8 +4097,6 @@ export declare const PdfTranslationUploadErrorDataSchema: z.ZodObject<{
3941
4097
  jobId: z.ZodOptional<z.ZodUUID>;
3942
4098
  }, z.core.$strict>;
3943
4099
  export type PdfTranslationUploadErrorData = z.infer<typeof PdfTranslationUploadErrorDataSchema>;
3944
- //#endregion
3945
- //#region src/schemas/speech.d.ts
3946
4100
  /** The longest text one request reads aloud. */
3947
4101
  export declare const SPEECH_TEXT_MAX_LENGTH = 500;
3948
4102
  /**
@@ -5115,8 +5269,6 @@ export declare const speechSynthesizeOutputSchema: z.ZodObject<{
5115
5269
  expiresAt: z.ZodCoercedDate<unknown>;
5116
5270
  }, z.core.$strict>;
5117
5271
  export type SpeechSynthesizeOutput = z.infer<typeof speechSynthesizeOutputSchema>;
5118
- //#endregion
5119
- //#region src/schemas/timezone.d.ts
5120
5272
  export declare const timezoneSchema: z.ZodString;
5121
5273
  export type Timezone = z.infer<typeof timezoneSchema>;
5122
5274
  /**
@@ -5127,8 +5279,6 @@ export type Timezone = z.infer<typeof timezoneSchema>;
5127
5279
  * opposite sign and would put the call's days on the wrong side of UTC.
5128
5280
  */
5129
5281
  export declare const canonicalTimezoneSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5130
- //#endregion
5131
- //#region src/schemas/srs.d.ts
5132
5282
  export declare const stepSchema: z.ZodTemplateLiteral<`${number}d` | `${number}h` | `${number}m`>;
5133
5283
  export type Step = z.infer<typeof stepSchema>;
5134
5284
  export declare const SRS_REVIEW_CLIENT_ID_NAMESPACE = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
@@ -5424,7 +5574,7 @@ export declare const srsReviewOutputSchema: z.ZodObject<{
5424
5574
  }, z.core.$strict>;
5425
5575
  createdAt: z.ZodCoercedDate<unknown>;
5426
5576
  }, z.core.$strip>;
5427
- txid: z.ZodNumber;
5577
+ txid: z.ZodNullable<z.ZodNumber>;
5428
5578
  created: z.ZodBoolean;
5429
5579
  }, z.core.$strip>;
5430
5580
  export type SrsReviewOutput = z.infer<typeof srsReviewOutputSchema>;
@@ -5808,8 +5958,6 @@ export declare const srsApplyPostponeOutputSchema: z.ZodObject<{
5808
5958
  reviewsPerDay: z.ZodNumber;
5809
5959
  }, z.core.$strip>;
5810
5960
  export type SrsApplyPostponeOutput = z.infer<typeof srsApplyPostponeOutputSchema>;
5811
- //#endregion
5812
- //#region src/schemas/srs-stats.d.ts
5813
5961
  export declare const srsActivityStatsItemSchema: z.ZodObject<{
5814
5962
  date: z.ZodISODate;
5815
5963
  answers: z.ZodNumber;
@@ -5838,8 +5986,6 @@ export declare const srsMemoryGrowthStatsOutputSchema: z.ZodObject<{
5838
5986
  }, z.core.$strict>>;
5839
5987
  }, z.core.$strict>;
5840
5988
  export type SrsMemoryGrowthStatsOutput = z.infer<typeof srsMemoryGrowthStatsOutputSchema>;
5841
- //#endregion
5842
- //#region src/schemas/stats.d.ts
5843
5989
  export declare const statsInputSchema: z.ZodObject<{
5844
5990
  notebaseIds: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodUUID>, z.ZodTransform<string[], string[]>>>;
5845
5991
  from: z.ZodOptional<z.ZodISODate>;
@@ -5864,8 +6010,6 @@ export declare const activityStatsOutputSchema: z.ZodObject<{
5864
6010
  }, z.core.$strict>;
5865
6011
  }, z.core.$strict>;
5866
6012
  export type ActivityStatsOutput = z.infer<typeof activityStatsOutputSchema>;
5867
- //#endregion
5868
- //#region src/schemas/user.d.ts
5869
6013
  export declare const userEnsureTimezoneInputSchema: z.ZodObject<{
5870
6014
  timezone: z.ZodString;
5871
6015
  }, z.core.$strict>;
@@ -5940,8 +6084,6 @@ export declare const userUpdateLocaleOutputSchema: z.ZodObject<{
5940
6084
  }>;
5941
6085
  }, z.core.$strict>;
5942
6086
  export type UserUpdateLocaleOutput = z.infer<typeof userUpdateLocaleOutputSchema>;
5943
- //#endregion
5944
- //#region src/schemas/video-transcript.d.ts
5945
6087
  export declare const videoTranscriptStatusSchema: z.ZodEnum<{
5946
6088
  completed: "completed";
5947
6089
  failed: "failed";
@@ -6015,8 +6157,205 @@ export declare const videoTranscriptUsageSchema: z.ZodObject<{
6015
6157
  }, z.core.$strip>>;
6016
6158
  }, z.core.$strip>;
6017
6159
  export type VideoTranscriptUsage = z.infer<typeof videoTranscriptUsageSchema>;
6018
- //#endregion
6019
- //#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>;
6020
6359
  export declare const paginationShape: {
6021
6360
  limit: z.ZodOptional<z.ZodNumber>;
6022
6361
  offset: z.ZodOptional<z.ZodNumber>;
@@ -6025,15 +6364,11 @@ export declare function pageSchema<T extends z.ZodType>(itemSchema: T): z.ZodObj
6025
6364
  items: z.ZodArray<T>;
6026
6365
  hasMore: z.ZodBoolean;
6027
6366
  }, z.core.$strip>;
6028
- //#endregion
6029
- //#region src/schemas/resource-mutation.d.ts
6030
6367
  export declare const expectedUpdatedAtSchema: z.ZodISODateTime;
6031
6368
  export declare const deletionResultSchema: z.ZodObject<{
6032
6369
  id: z.ZodUUID;
6033
6370
  txid: z.ZodNumber;
6034
6371
  }, z.core.$strip>;
6035
- //#endregion
6036
- //#region src/index.d.ts
6037
6372
  export declare const contract: {
6038
6373
  billing: {
6039
6374
  status: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
@@ -6573,7 +6908,7 @@ export declare const contract: {
6573
6908
  count: import("zod").ZodNumber;
6574
6909
  limit: import("zod").ZodNumber;
6575
6910
  }, import("zod/v4/core").$strict>;
6576
- }, 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>>;
6577
6912
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6578
6913
  id: import("zod").ZodUUID;
6579
6914
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
@@ -6594,7 +6929,7 @@ export declare const contract: {
6594
6929
  updatedAt: import("zod").ZodCoercedDate<unknown>;
6595
6930
  progressCfi: import("zod").ZodNullable<import("zod").ZodString>;
6596
6931
  }, import("zod/v4/core").$strict>;
6597
- }, 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>>;
6598
6933
  requestUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6599
6934
  title: import("zod").ZodString;
6600
6935
  author: import("zod").ZodOptional<import("zod").ZodString>;
@@ -6608,6 +6943,7 @@ export declare const contract: {
6608
6943
  }>;
6609
6944
  byteSize: import("zod").ZodNumber;
6610
6945
  }, import("zod/v4/core").$strict>>;
6946
+ uploadKey: import("zod").ZodOptional<import("zod").ZodUUID>;
6611
6947
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
6612
6948
  ebookId: import("zod").ZodUUID;
6613
6949
  upload: import("zod").ZodObject<{
@@ -6619,7 +6955,7 @@ export declare const contract: {
6619
6955
  headers: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
6620
6956
  }, import("zod/v4/core").$strict>>;
6621
6957
  expiresAt: import("zod").ZodCoercedDate<unknown>;
6622
- }, 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>>;
6623
6959
  finalizeUpload: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6624
6960
  ebookId: import("zod").ZodUUID;
6625
6961
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
@@ -6639,20 +6975,20 @@ export declare const contract: {
6639
6975
  createdAt: import("zod").ZodCoercedDate<unknown>;
6640
6976
  updatedAt: import("zod").ZodCoercedDate<unknown>;
6641
6977
  }, import("zod/v4/core").$strict>;
6642
- }, 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>>;
6643
6979
  getDownloadUrl: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6644
6980
  id: import("zod").ZodUUID;
6645
6981
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
6646
6982
  url: import("zod").ZodURL;
6647
6983
  expiresAt: import("zod").ZodCoercedDate<unknown>;
6648
- }, 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>>;
6649
6985
  updateProgress: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6650
6986
  cfi: import("zod").ZodString;
6651
6987
  fraction: import("zod").ZodNumber;
6652
6988
  id: import("zod").ZodUUID;
6653
6989
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
6654
6990
  lastReadAt: import("zod").ZodCoercedDate<unknown>;
6655
- }, 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>>;
6656
6992
  rename: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6657
6993
  title: import("zod").ZodString;
6658
6994
  author: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
@@ -6674,12 +7010,12 @@ export declare const contract: {
6674
7010
  createdAt: import("zod").ZodCoercedDate<unknown>;
6675
7011
  updatedAt: import("zod").ZodCoercedDate<unknown>;
6676
7012
  }, import("zod/v4/core").$strict>;
6677
- }, 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>>;
6678
7014
  delete: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6679
7015
  id: import("zod").ZodUUID;
6680
7016
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
6681
7017
  id: import("zod").ZodUUID;
6682
- }, 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>>;
6683
7019
  };
6684
7020
  emailPreferences: {
6685
7021
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -6794,11 +7130,11 @@ export declare const contract: {
6794
7130
  featureAccess: {
6795
7131
  status: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
6796
7132
  featureKey: import("zod").ZodEnum<{
6797
- ebook: "ebook";
7133
+ media: "media";
6798
7134
  }>;
6799
7135
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
6800
7136
  featureKey: import("zod").ZodEnum<{
6801
- ebook: "ebook";
7137
+ media: "media";
6802
7138
  }>;
6803
7139
  allowed: import("zod").ZodBoolean;
6804
7140
  }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
@@ -7330,6 +7666,104 @@ export declare const contract: {
7330
7666
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
7331
7667
  clientId: import("zod").ZodString;
7332
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>>;
7333
7767
  };
7334
7768
  notebase: {
7335
7769
  list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
@@ -9473,7 +9907,7 @@ export declare const contract: {
9473
9907
  }, import("zod/v4/core").$strict>;
9474
9908
  createdAt: import("zod").ZodCoercedDate<unknown>;
9475
9909
  }, import("zod/v4/core").$strip>;
9476
- txid: import("zod").ZodNumber;
9910
+ txid: import("zod").ZodNullable<import("zod").ZodNumber>;
9477
9911
  created: import("zod").ZodBoolean;
9478
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">>, {
9479
9913
  summary: string;
@@ -9727,6 +10161,71 @@ export declare const contract: {
9727
10161
  description: string;
9728
10162
  } & Record<never, never>>;
9729
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>>;
10228
+ };
9730
10229
  user: {
9731
10230
  ensureTimezone: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
9732
10231
  timezone: import("zod").ZodString;
@@ -9865,6 +10364,5 @@ export declare const contract: {
9865
10364
  };
9866
10365
  };
9867
10366
  export type ORPCRouterClient = ContractRouterClient<typeof contract>;
9868
- //#endregion
9869
10367
  export { type AgentRoute, type CardState, type ReviewRating, SRS_REVIEW_DURATION_MS_MAX, type ScheduleStatus, type SchedulingParams, cardStateSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema };
9870
10368
  //# sourceMappingURL=index.d.ts.map