@read-frog/api-contract 0.18.1 → 0.20.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
@@ -63,6 +63,25 @@ export declare const CardTemplateInvalidColumnsDataSchema: z.ZodObject<{
63
63
  notebaseColumnIds: z.ZodArray<z.ZodString>;
64
64
  }, z.core.$strict>;
65
65
  export type CardTemplateInvalidColumnsData = z.infer<typeof CardTemplateInvalidColumnsDataSchema>;
66
+ export declare const CardTemplateInvalidLayoutDataSchema: z.ZodObject<{
67
+ errors: z.ZodArray<z.ZodObject<{
68
+ side: z.ZodEnum<{
69
+ back: "back";
70
+ front: "front";
71
+ }>;
72
+ message: z.ZodString;
73
+ from: z.ZodOptional<z.ZodNumber>;
74
+ to: z.ZodOptional<z.ZodNumber>;
75
+ }, z.core.$strict>>;
76
+ }, z.core.$strict>;
77
+ export type CardTemplateInvalidLayoutData = z.infer<typeof CardTemplateInvalidLayoutDataSchema>;
78
+ export declare const CardTemplateNotebaseColumnInUseDataSchema: z.ZodObject<{
79
+ templates: z.ZodArray<z.ZodObject<{
80
+ id: z.ZodUUID;
81
+ name: z.ZodString;
82
+ }, z.core.$strict>>;
83
+ }, z.core.$strict>;
84
+ export type CardTemplateNotebaseColumnInUseData = z.infer<typeof CardTemplateNotebaseColumnInUseDataSchema>;
66
85
  export declare const HostedAiTierRestrictedDataSchema: z.ZodObject<{
67
86
  modelTier: z.ZodEnum<{
68
87
  advance: "advance";
@@ -183,7 +202,28 @@ export declare const PUBLIC_APP_ERROR_DEFS: {
183
202
  readonly message: "Card template references unknown notebase columns";
184
203
  readonly status: 422;
185
204
  };
205
+ readonly CARD_TEMPLATE_INVALID_LAYOUT: {
206
+ readonly data: z.ZodObject<{
207
+ errors: z.ZodArray<z.ZodObject<{
208
+ side: z.ZodEnum<{
209
+ back: "back";
210
+ front: "front";
211
+ }>;
212
+ message: z.ZodString;
213
+ from: z.ZodOptional<z.ZodNumber>;
214
+ to: z.ZodOptional<z.ZodNumber>;
215
+ }, z.core.$strict>>;
216
+ }, z.core.$strict>;
217
+ readonly message: "Card template layout does not parse";
218
+ readonly status: 422;
219
+ };
186
220
  readonly CARD_TEMPLATE_NOTEBASE_COLUMN_IN_USE: {
221
+ readonly data: z.ZodObject<{
222
+ templates: z.ZodArray<z.ZodObject<{
223
+ id: z.ZodUUID;
224
+ name: z.ZodString;
225
+ }, z.core.$strict>>;
226
+ }, z.core.$strict>;
187
227
  readonly message: "Notebase column is used by a card template";
188
228
  readonly status: 409;
189
229
  };
@@ -398,7 +438,28 @@ export declare function getPublicErrorDefinition<TCode extends PublicAppErrorCod
398
438
  readonly message: "Card template references unknown notebase columns";
399
439
  readonly status: 422;
400
440
  };
441
+ readonly CARD_TEMPLATE_INVALID_LAYOUT: {
442
+ readonly data: z.ZodObject<{
443
+ errors: z.ZodArray<z.ZodObject<{
444
+ side: z.ZodEnum<{
445
+ back: "back";
446
+ front: "front";
447
+ }>;
448
+ message: z.ZodString;
449
+ from: z.ZodOptional<z.ZodNumber>;
450
+ to: z.ZodOptional<z.ZodNumber>;
451
+ }, z.core.$strict>>;
452
+ }, z.core.$strict>;
453
+ readonly message: "Card template layout does not parse";
454
+ readonly status: 422;
455
+ };
401
456
  readonly CARD_TEMPLATE_NOTEBASE_COLUMN_IN_USE: {
457
+ readonly data: z.ZodObject<{
458
+ templates: z.ZodArray<z.ZodObject<{
459
+ id: z.ZodUUID;
460
+ name: z.ZodString;
461
+ }, z.core.$strict>>;
462
+ }, z.core.$strict>;
402
463
  readonly message: "Notebase column is used by a card template";
403
464
  readonly status: 409;
404
465
  };
@@ -719,8 +780,28 @@ export declare const cardTemplateSchema: z.ZodObject<{
719
780
  name: z.ZodString;
720
781
  config: z.ZodDiscriminatedUnion<[z.ZodObject<{
721
782
  type: z.ZodLiteral<"basic">;
722
- frontPattern: z.ZodString;
723
- backPattern: z.ZodString;
783
+ front: z.ZodUnion<readonly [z.ZodObject<{
784
+ columns: z.ZodArray<z.ZodUUID>;
785
+ style: z.ZodEnum<{
786
+ compact: "compact";
787
+ headline: "headline";
788
+ list: "list";
789
+ }>;
790
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
791
+ }, z.core.$strict>, z.ZodObject<{
792
+ layout: z.ZodString;
793
+ }, z.core.$strict>]>;
794
+ back: z.ZodUnion<readonly [z.ZodObject<{
795
+ columns: z.ZodArray<z.ZodUUID>;
796
+ style: z.ZodEnum<{
797
+ compact: "compact";
798
+ headline: "headline";
799
+ list: "list";
800
+ }>;
801
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
802
+ }, z.core.$strict>, z.ZodObject<{
803
+ layout: z.ZodString;
804
+ }, z.core.$strict>]>;
724
805
  }, z.core.$strict>], "type">;
725
806
  createdAt: z.ZodCoercedDate<unknown>;
726
807
  updatedAt: z.ZodCoercedDate<unknown>;
@@ -739,8 +820,28 @@ export declare const CardTemplateListOutputSchema: z.ZodObject<{
739
820
  name: z.ZodString;
740
821
  config: z.ZodDiscriminatedUnion<[z.ZodObject<{
741
822
  type: z.ZodLiteral<"basic">;
742
- frontPattern: z.ZodString;
743
- backPattern: z.ZodString;
823
+ front: z.ZodUnion<readonly [z.ZodObject<{
824
+ columns: z.ZodArray<z.ZodUUID>;
825
+ style: z.ZodEnum<{
826
+ compact: "compact";
827
+ headline: "headline";
828
+ list: "list";
829
+ }>;
830
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
831
+ }, z.core.$strict>, z.ZodObject<{
832
+ layout: z.ZodString;
833
+ }, z.core.$strict>]>;
834
+ back: z.ZodUnion<readonly [z.ZodObject<{
835
+ columns: z.ZodArray<z.ZodUUID>;
836
+ style: z.ZodEnum<{
837
+ compact: "compact";
838
+ headline: "headline";
839
+ list: "list";
840
+ }>;
841
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
842
+ }, z.core.$strict>, z.ZodObject<{
843
+ layout: z.ZodString;
844
+ }, z.core.$strict>]>;
744
845
  }, z.core.$strict>], "type">;
745
846
  createdAt: z.ZodCoercedDate<unknown>;
746
847
  updatedAt: z.ZodCoercedDate<unknown>;
@@ -758,8 +859,28 @@ export declare const CardTemplateGetOutputSchema: z.ZodObject<{
758
859
  name: z.ZodString;
759
860
  config: z.ZodDiscriminatedUnion<[z.ZodObject<{
760
861
  type: z.ZodLiteral<"basic">;
761
- frontPattern: z.ZodString;
762
- backPattern: z.ZodString;
862
+ front: z.ZodUnion<readonly [z.ZodObject<{
863
+ columns: z.ZodArray<z.ZodUUID>;
864
+ style: z.ZodEnum<{
865
+ compact: "compact";
866
+ headline: "headline";
867
+ list: "list";
868
+ }>;
869
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
870
+ }, z.core.$strict>, z.ZodObject<{
871
+ layout: z.ZodString;
872
+ }, z.core.$strict>]>;
873
+ back: z.ZodUnion<readonly [z.ZodObject<{
874
+ columns: z.ZodArray<z.ZodUUID>;
875
+ style: z.ZodEnum<{
876
+ compact: "compact";
877
+ headline: "headline";
878
+ list: "list";
879
+ }>;
880
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
881
+ }, z.core.$strict>, z.ZodObject<{
882
+ layout: z.ZodString;
883
+ }, z.core.$strict>]>;
763
884
  }, z.core.$strict>], "type">;
764
885
  createdAt: z.ZodCoercedDate<unknown>;
765
886
  updatedAt: z.ZodCoercedDate<unknown>;
@@ -771,8 +892,28 @@ export declare const CardTemplateCreateInputSchema: z.ZodObject<{
771
892
  name: z.ZodString;
772
893
  config: z.ZodDiscriminatedUnion<[z.ZodObject<{
773
894
  type: z.ZodLiteral<"basic">;
774
- frontPattern: z.ZodString;
775
- backPattern: z.ZodString;
895
+ front: z.ZodUnion<readonly [z.ZodObject<{
896
+ columns: z.ZodArray<z.ZodUUID>;
897
+ style: z.ZodEnum<{
898
+ compact: "compact";
899
+ headline: "headline";
900
+ list: "list";
901
+ }>;
902
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
903
+ }, z.core.$strict>, z.ZodObject<{
904
+ layout: z.ZodString;
905
+ }, z.core.$strict>]>;
906
+ back: z.ZodUnion<readonly [z.ZodObject<{
907
+ columns: z.ZodArray<z.ZodUUID>;
908
+ style: z.ZodEnum<{
909
+ compact: "compact";
910
+ headline: "headline";
911
+ list: "list";
912
+ }>;
913
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
914
+ }, z.core.$strict>, z.ZodObject<{
915
+ layout: z.ZodString;
916
+ }, z.core.$strict>]>;
776
917
  }, z.core.$strict>], "type">;
777
918
  }, z.core.$strict>;
778
919
  export type CardTemplateCreateInput = z.infer<typeof CardTemplateCreateInputSchema>;
@@ -782,8 +923,28 @@ export declare const CardTemplateCreateOutputSchema: z.ZodObject<{
782
923
  name: z.ZodString;
783
924
  config: z.ZodDiscriminatedUnion<[z.ZodObject<{
784
925
  type: z.ZodLiteral<"basic">;
785
- frontPattern: z.ZodString;
786
- backPattern: z.ZodString;
926
+ front: z.ZodUnion<readonly [z.ZodObject<{
927
+ columns: z.ZodArray<z.ZodUUID>;
928
+ style: z.ZodEnum<{
929
+ compact: "compact";
930
+ headline: "headline";
931
+ list: "list";
932
+ }>;
933
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
934
+ }, z.core.$strict>, z.ZodObject<{
935
+ layout: z.ZodString;
936
+ }, z.core.$strict>]>;
937
+ back: z.ZodUnion<readonly [z.ZodObject<{
938
+ columns: z.ZodArray<z.ZodUUID>;
939
+ style: z.ZodEnum<{
940
+ compact: "compact";
941
+ headline: "headline";
942
+ list: "list";
943
+ }>;
944
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
945
+ }, z.core.$strict>, z.ZodObject<{
946
+ layout: z.ZodString;
947
+ }, z.core.$strict>]>;
787
948
  }, z.core.$strict>], "type">;
788
949
  createdAt: z.ZodCoercedDate<unknown>;
789
950
  updatedAt: z.ZodCoercedDate<unknown>;
@@ -796,8 +957,28 @@ export declare const CardTemplateUpdateInputSchema: z.ZodObject<{
796
957
  name: z.ZodOptional<z.ZodString>;
797
958
  config: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
798
959
  type: z.ZodLiteral<"basic">;
799
- frontPattern: z.ZodString;
800
- backPattern: z.ZodString;
960
+ front: z.ZodUnion<readonly [z.ZodObject<{
961
+ columns: z.ZodArray<z.ZodUUID>;
962
+ style: z.ZodEnum<{
963
+ compact: "compact";
964
+ headline: "headline";
965
+ list: "list";
966
+ }>;
967
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
968
+ }, z.core.$strict>, z.ZodObject<{
969
+ layout: z.ZodString;
970
+ }, z.core.$strict>]>;
971
+ back: z.ZodUnion<readonly [z.ZodObject<{
972
+ columns: z.ZodArray<z.ZodUUID>;
973
+ style: z.ZodEnum<{
974
+ compact: "compact";
975
+ headline: "headline";
976
+ list: "list";
977
+ }>;
978
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
979
+ }, z.core.$strict>, z.ZodObject<{
980
+ layout: z.ZodString;
981
+ }, z.core.$strict>]>;
801
982
  }, z.core.$strict>], "type">>;
802
983
  }, z.core.$strict>;
803
984
  export type CardTemplateUpdateInput = z.infer<typeof CardTemplateUpdateInputSchema>;
@@ -807,8 +988,28 @@ export declare const CardTemplateUpdateOutputSchema: z.ZodObject<{
807
988
  name: z.ZodString;
808
989
  config: z.ZodDiscriminatedUnion<[z.ZodObject<{
809
990
  type: z.ZodLiteral<"basic">;
810
- frontPattern: z.ZodString;
811
- backPattern: z.ZodString;
991
+ front: z.ZodUnion<readonly [z.ZodObject<{
992
+ columns: z.ZodArray<z.ZodUUID>;
993
+ style: z.ZodEnum<{
994
+ compact: "compact";
995
+ headline: "headline";
996
+ list: "list";
997
+ }>;
998
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
999
+ }, z.core.$strict>, z.ZodObject<{
1000
+ layout: z.ZodString;
1001
+ }, z.core.$strict>]>;
1002
+ back: z.ZodUnion<readonly [z.ZodObject<{
1003
+ columns: z.ZodArray<z.ZodUUID>;
1004
+ style: z.ZodEnum<{
1005
+ compact: "compact";
1006
+ headline: "headline";
1007
+ list: "list";
1008
+ }>;
1009
+ speak: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1010
+ }, z.core.$strict>, z.ZodObject<{
1011
+ layout: z.ZodString;
1012
+ }, z.core.$strict>]>;
812
1013
  }, z.core.$strict>], "type">;
813
1014
  createdAt: z.ZodCoercedDate<unknown>;
814
1015
  updatedAt: z.ZodCoercedDate<unknown>;
@@ -845,7 +1046,9 @@ export declare const cardSchema: z.ZodObject<{
845
1046
  }>;
846
1047
  dueAt: z.ZodCoercedDate<unknown>;
847
1048
  lastReviewTime: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1049
+ retentionDays90: z.ZodNumber;
848
1050
  stability: z.ZodNumber;
1051
+ stabilityFast: z.ZodNumber;
849
1052
  difficulty: z.ZodNumber;
850
1053
  step: z.ZodNumber;
851
1054
  lapses: z.ZodNumber;
@@ -876,7 +1079,9 @@ export declare const renderedCardSchema: z.ZodObject<{
876
1079
  }>;
877
1080
  dueAt: z.ZodCoercedDate<unknown>;
878
1081
  lastReviewTime: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1082
+ retentionDays90: z.ZodNumber;
879
1083
  stability: z.ZodNumber;
1084
+ stabilityFast: z.ZodNumber;
880
1085
  difficulty: z.ZodNumber;
881
1086
  step: z.ZodNumber;
882
1087
  lapses: z.ZodNumber;
@@ -924,7 +1129,9 @@ export declare const CardListOutputSchema: z.ZodObject<{
924
1129
  }>;
925
1130
  dueAt: z.ZodCoercedDate<unknown>;
926
1131
  lastReviewTime: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1132
+ retentionDays90: z.ZodNumber;
927
1133
  stability: z.ZodNumber;
1134
+ stabilityFast: z.ZodNumber;
928
1135
  difficulty: z.ZodNumber;
929
1136
  step: z.ZodNumber;
930
1137
  lapses: z.ZodNumber;
@@ -963,7 +1170,9 @@ export declare const CardGetOutputSchema: z.ZodObject<{
963
1170
  }>;
964
1171
  dueAt: z.ZodCoercedDate<unknown>;
965
1172
  lastReviewTime: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1173
+ retentionDays90: z.ZodNumber;
966
1174
  stability: z.ZodNumber;
1175
+ stabilityFast: z.ZodNumber;
967
1176
  difficulty: z.ZodNumber;
968
1177
  step: z.ZodNumber;
969
1178
  lapses: z.ZodNumber;
@@ -1652,6 +1861,22 @@ export type HostedAiTierStatus = z.infer<typeof HostedAiTierStatusSchema>;
1652
1861
  export type HostedAiFeatureStatus = z.infer<typeof HostedAiFeatureStatusSchema>;
1653
1862
  export type HostedAiStatusOutput = z.infer<typeof HostedAiStatusOutputSchema>;
1654
1863
  //#endregion
1864
+ //#region src/schemas/mastery-goal.d.ts
1865
+ export declare const MASTERY_GOAL_TARGET_MAX = 1000000;
1866
+ /** How many mastered cards to aim for: the cards `stats.srsMemoryGrowth` counts. */
1867
+ export declare const masteryGoalTargetSchema: z.ZodNumber;
1868
+ export type MasteryGoalTarget = z.infer<typeof masteryGoalTargetSchema>;
1869
+ /** `null` clears the goal. */
1870
+ export declare const masteryGoalUpdateInputSchema: z.ZodObject<{
1871
+ target: z.ZodNullable<z.ZodNumber>;
1872
+ }, z.core.$strict>;
1873
+ export type MasteryGoalUpdateInput = z.infer<typeof masteryGoalUpdateInputSchema>;
1874
+ /** The goal's target, or `null` while none is set. */
1875
+ export declare const masteryGoalOutputSchema: z.ZodObject<{
1876
+ target: z.ZodNullable<z.ZodNumber>;
1877
+ }, z.core.$strict>;
1878
+ export type MasteryGoalOutput = z.infer<typeof masteryGoalOutputSchema>;
1879
+ //#endregion
1655
1880
  //#region src/schemas/mcp-connection.d.ts
1656
1881
  export declare const mcpConnectionSchema: z.ZodObject<{
1657
1882
  clientId: z.ZodString;
@@ -1712,6 +1937,10 @@ export declare const notebaseSchema: z.ZodObject<{
1712
1937
  srsLeechThreshold: z.ZodNumber;
1713
1938
  srsEnableFuzz: z.ZodBoolean;
1714
1939
  srsWeights: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
1940
+ srsModelVersion: z.ZodEnum<{
1941
+ "FSRS-6": "FSRS-6";
1942
+ "FSRS-7": "FSRS-7";
1943
+ }>;
1715
1944
  createdAt: z.ZodDate;
1716
1945
  updatedAt: z.ZodDate;
1717
1946
  }, z.core.$strip>;
@@ -1815,6 +2044,10 @@ export declare const NotebaseCreateOutputSchema: z.ZodObject<{
1815
2044
  srsLeechThreshold: z.ZodNumber;
1816
2045
  srsEnableFuzz: z.ZodBoolean;
1817
2046
  srsWeights: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
2047
+ srsModelVersion: z.ZodEnum<{
2048
+ "FSRS-6": "FSRS-6";
2049
+ "FSRS-7": "FSRS-7";
2050
+ }>;
1818
2051
  createdAt: z.ZodDate;
1819
2052
  updatedAt: z.ZodDate;
1820
2053
  }, z.core.$strip>;
@@ -1851,6 +2084,10 @@ export declare const NotebaseUpdateOutputSchema: z.ZodObject<{
1851
2084
  srsLeechThreshold: z.ZodNumber;
1852
2085
  srsEnableFuzz: z.ZodBoolean;
1853
2086
  srsWeights: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
2087
+ srsModelVersion: z.ZodEnum<{
2088
+ "FSRS-6": "FSRS-6";
2089
+ "FSRS-7": "FSRS-7";
2090
+ }>;
1854
2091
  createdAt: z.ZodDate;
1855
2092
  updatedAt: z.ZodDate;
1856
2093
  }, z.core.$strip>;
@@ -1901,6 +2138,10 @@ export declare const NotebaseGetOutputSchema: z.ZodObject<{
1901
2138
  srsLeechThreshold: z.ZodNumber;
1902
2139
  srsEnableFuzz: z.ZodBoolean;
1903
2140
  srsWeights: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
2141
+ srsModelVersion: z.ZodEnum<{
2142
+ "FSRS-6": "FSRS-6";
2143
+ "FSRS-7": "FSRS-7";
2144
+ }>;
1904
2145
  createdAt: z.ZodCoercedDate<unknown>;
1905
2146
  updatedAt: z.ZodCoercedDate<unknown>;
1906
2147
  notebaseColumns: z.ZodArray<z.ZodObject<{
@@ -2612,6 +2853,23 @@ export declare const srsScheduleStatusStatsOutputSchema: z.ZodRecord<z.ZodUUID,
2612
2853
  review: "review";
2613
2854
  }>, z.ZodNumber>>;
2614
2855
  export type SrsScheduleStatusStatsOutput = z.infer<typeof srsScheduleStatusStatsOutputSchema>;
2856
+ export declare const srsRecentNotebaseScheduleStatusStatsInputSchema: z.ZodObject<{
2857
+ timezone: z.ZodString;
2858
+ }, z.core.$strict>;
2859
+ export type SrsRecentNotebaseScheduleStatusStatsInput = z.infer<typeof srsRecentNotebaseScheduleStatusStatsInputSchema>;
2860
+ /** Null when the user has no notebase yet. */
2861
+ export declare const srsRecentNotebaseScheduleStatusStatsOutputSchema: z.ZodNullable<z.ZodObject<{
2862
+ notebase: z.ZodObject<{
2863
+ id: z.ZodString;
2864
+ name: z.ZodString;
2865
+ }, z.core.$strip>;
2866
+ stats: z.ZodRecord<z.ZodEnum<{
2867
+ learning: "learning";
2868
+ new: "new";
2869
+ review: "review";
2870
+ }>, z.ZodNumber>;
2871
+ }, z.core.$strip>>;
2872
+ export type SrsRecentNotebaseScheduleStatusStatsOutput = z.infer<typeof srsRecentNotebaseScheduleStatusStatsOutputSchema>;
2615
2873
  export declare const srsManualCardStatusInputSchema: z.ZodObject<{
2616
2874
  cardId: z.ZodUUID;
2617
2875
  enabled: z.ZodBoolean;
@@ -2651,10 +2909,16 @@ export declare const srsRevlogSchema: z.ZodObject<{
2651
2909
  review: "review";
2652
2910
  suspended: "suspended";
2653
2911
  }>;
2654
- afterStability: z.ZodNumber;
2912
+ afterMemoryState: z.ZodObject<{
2913
+ stability: z.ZodNumber;
2914
+ stabilityFast: z.ZodNumber;
2915
+ difficulty: z.ZodNumber;
2916
+ }, z.core.$strict>;
2917
+ retentionDays90: z.ZodNumber;
2918
+ afterRetentionDays90: z.ZodNumber;
2655
2919
  reviewedAt: z.ZodCoercedDate<unknown>;
2656
2920
  durationMs: z.ZodNumber;
2657
- fsrsReviewLogSnapshot: z.ZodPipe<z.ZodObject<{
2921
+ fsrsReviewLogSnapshot: z.ZodObject<{
2658
2922
  rating: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
2659
2923
  state: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
2660
2924
  scheduleStatus: z.ZodEnum<{
@@ -2666,32 +2930,11 @@ export declare const srsRevlogSchema: z.ZodObject<{
2666
2930
  dueAt: z.ZodOptional<z.ZodString>;
2667
2931
  lastReviewAt: z.ZodNullable<z.ZodString>;
2668
2932
  stability: z.ZodNumber;
2933
+ stabilityFast: z.ZodOptional<z.ZodNumber>;
2669
2934
  difficulty: z.ZodNumber;
2670
- scheduledDays: z.ZodOptional<z.ZodNumber>;
2671
2935
  learningSteps: z.ZodNumber;
2672
2936
  review: z.ZodString;
2673
- }, z.core.$strict>, z.ZodTransform<{
2674
- rating: 1 | 2 | 3 | 4;
2675
- state: 0 | 1 | 2 | 3;
2676
- scheduleStatus: "learning" | "new" | "review" | "suspended";
2677
- dueAt?: string | undefined;
2678
- lastReviewAt: string | null;
2679
- stability: number;
2680
- difficulty: number;
2681
- learningSteps: number;
2682
- review: string;
2683
- }, {
2684
- rating: 1 | 2 | 3 | 4;
2685
- state: 0 | 1 | 2 | 3;
2686
- scheduleStatus: "learning" | "new" | "review" | "suspended";
2687
- dueAt?: string | undefined;
2688
- lastReviewAt: string | null;
2689
- stability: number;
2690
- difficulty: number;
2691
- scheduledDays?: number | undefined;
2692
- learningSteps: number;
2693
- review: string;
2694
- }>>;
2937
+ }, z.core.$strict>;
2695
2938
  createdAt: z.ZodCoercedDate<unknown>;
2696
2939
  }, z.core.$strip>;
2697
2940
  export type SrsRevlog = z.infer<typeof srsRevlogSchema>;
@@ -2719,7 +2962,13 @@ export declare const srsRevlogWithoutSnapshotSchema: z.ZodObject<{
2719
2962
  review: "review";
2720
2963
  suspended: "suspended";
2721
2964
  }>;
2722
- afterStability: z.ZodNumber;
2965
+ afterMemoryState: z.ZodObject<{
2966
+ stability: z.ZodNumber;
2967
+ stabilityFast: z.ZodNumber;
2968
+ difficulty: z.ZodNumber;
2969
+ }, z.core.$strict>;
2970
+ retentionDays90: z.ZodNumber;
2971
+ afterRetentionDays90: z.ZodNumber;
2723
2972
  reviewedAt: z.ZodCoercedDate<unknown>;
2724
2973
  durationMs: z.ZodNumber;
2725
2974
  createdAt: z.ZodCoercedDate<unknown>;
@@ -2757,7 +3006,13 @@ export declare const srsListCardRevlogsOutputSchema: z.ZodObject<{
2757
3006
  review: "review";
2758
3007
  suspended: "suspended";
2759
3008
  }>;
2760
- afterStability: z.ZodNumber;
3009
+ afterMemoryState: z.ZodObject<{
3010
+ stability: z.ZodNumber;
3011
+ stabilityFast: z.ZodNumber;
3012
+ difficulty: z.ZodNumber;
3013
+ }, z.core.$strict>;
3014
+ retentionDays90: z.ZodNumber;
3015
+ afterRetentionDays90: z.ZodNumber;
2761
3016
  reviewedAt: z.ZodCoercedDate<unknown>;
2762
3017
  durationMs: z.ZodNumber;
2763
3018
  createdAt: z.ZodCoercedDate<unknown>;
@@ -2787,7 +3042,9 @@ export declare const srsReviewOutputSchema: z.ZodObject<{
2787
3042
  }>;
2788
3043
  dueAt: z.ZodCoercedDate<unknown>;
2789
3044
  lastReviewTime: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3045
+ retentionDays90: z.ZodNumber;
2790
3046
  stability: z.ZodNumber;
3047
+ stabilityFast: z.ZodNumber;
2791
3048
  difficulty: z.ZodNumber;
2792
3049
  step: z.ZodNumber;
2793
3050
  lapses: z.ZodNumber;
@@ -2820,10 +3077,16 @@ export declare const srsReviewOutputSchema: z.ZodObject<{
2820
3077
  review: "review";
2821
3078
  suspended: "suspended";
2822
3079
  }>;
2823
- afterStability: z.ZodNumber;
3080
+ afterMemoryState: z.ZodObject<{
3081
+ stability: z.ZodNumber;
3082
+ stabilityFast: z.ZodNumber;
3083
+ difficulty: z.ZodNumber;
3084
+ }, z.core.$strict>;
3085
+ retentionDays90: z.ZodNumber;
3086
+ afterRetentionDays90: z.ZodNumber;
2824
3087
  reviewedAt: z.ZodCoercedDate<unknown>;
2825
3088
  durationMs: z.ZodNumber;
2826
- fsrsReviewLogSnapshot: z.ZodPipe<z.ZodObject<{
3089
+ fsrsReviewLogSnapshot: z.ZodObject<{
2827
3090
  rating: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
2828
3091
  state: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
2829
3092
  scheduleStatus: z.ZodEnum<{
@@ -2835,32 +3098,11 @@ export declare const srsReviewOutputSchema: z.ZodObject<{
2835
3098
  dueAt: z.ZodOptional<z.ZodString>;
2836
3099
  lastReviewAt: z.ZodNullable<z.ZodString>;
2837
3100
  stability: z.ZodNumber;
3101
+ stabilityFast: z.ZodOptional<z.ZodNumber>;
2838
3102
  difficulty: z.ZodNumber;
2839
- scheduledDays: z.ZodOptional<z.ZodNumber>;
2840
3103
  learningSteps: z.ZodNumber;
2841
3104
  review: z.ZodString;
2842
- }, z.core.$strict>, z.ZodTransform<{
2843
- rating: 1 | 2 | 3 | 4;
2844
- state: 0 | 1 | 2 | 3;
2845
- scheduleStatus: "learning" | "new" | "review" | "suspended";
2846
- dueAt?: string | undefined;
2847
- lastReviewAt: string | null;
2848
- stability: number;
2849
- difficulty: number;
2850
- learningSteps: number;
2851
- review: string;
2852
- }, {
2853
- rating: 1 | 2 | 3 | 4;
2854
- state: 0 | 1 | 2 | 3;
2855
- scheduleStatus: "learning" | "new" | "review" | "suspended";
2856
- dueAt?: string | undefined;
2857
- lastReviewAt: string | null;
2858
- stability: number;
2859
- difficulty: number;
2860
- scheduledDays?: number | undefined;
2861
- learningSteps: number;
2862
- review: string;
2863
- }>>;
3105
+ }, z.core.$strict>;
2864
3106
  createdAt: z.ZodCoercedDate<unknown>;
2865
3107
  }, z.core.$strip>;
2866
3108
  txid: z.ZodNumber;
@@ -2889,7 +3131,9 @@ export declare const srsRollbackReviewOutputSchema: z.ZodObject<{
2889
3131
  }>;
2890
3132
  dueAt: z.ZodCoercedDate<unknown>;
2891
3133
  lastReviewTime: z.ZodNullable<z.ZodCoercedDate<unknown>>;
3134
+ retentionDays90: z.ZodNumber;
2892
3135
  stability: z.ZodNumber;
3136
+ stabilityFast: z.ZodNumber;
2893
3137
  difficulty: z.ZodNumber;
2894
3138
  step: z.ZodNumber;
2895
3139
  lapses: z.ZodNumber;
@@ -3247,7 +3491,9 @@ export declare const contract: {
3247
3491
  }>;
3248
3492
  dueAt: import("zod").ZodCoercedDate<unknown>;
3249
3493
  lastReviewTime: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
3494
+ retentionDays90: import("zod").ZodNumber;
3250
3495
  stability: import("zod").ZodNumber;
3496
+ stabilityFast: import("zod").ZodNumber;
3251
3497
  difficulty: import("zod").ZodNumber;
3252
3498
  step: import("zod").ZodNumber;
3253
3499
  lapses: import("zod").ZodNumber;
@@ -3286,7 +3532,9 @@ export declare const contract: {
3286
3532
  }>;
3287
3533
  dueAt: import("zod").ZodCoercedDate<unknown>;
3288
3534
  lastReviewTime: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
3535
+ retentionDays90: import("zod").ZodNumber;
3289
3536
  stability: import("zod").ZodNumber;
3537
+ stabilityFast: import("zod").ZodNumber;
3290
3538
  difficulty: import("zod").ZodNumber;
3291
3539
  step: import("zod").ZodNumber;
3292
3540
  lapses: import("zod").ZodNumber;
@@ -3320,8 +3568,28 @@ export declare const contract: {
3320
3568
  name: import("zod").ZodString;
3321
3569
  config: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3322
3570
  type: import("zod").ZodLiteral<"basic">;
3323
- frontPattern: import("zod").ZodString;
3324
- backPattern: import("zod").ZodString;
3571
+ front: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3572
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3573
+ style: import("zod").ZodEnum<{
3574
+ compact: "compact";
3575
+ headline: "headline";
3576
+ list: "list";
3577
+ }>;
3578
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3579
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3580
+ layout: import("zod").ZodString;
3581
+ }, import("zod/v4/core").$strict>]>;
3582
+ back: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3583
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3584
+ style: import("zod").ZodEnum<{
3585
+ compact: "compact";
3586
+ headline: "headline";
3587
+ list: "list";
3588
+ }>;
3589
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3590
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3591
+ layout: import("zod").ZodString;
3592
+ }, import("zod/v4/core").$strict>]>;
3325
3593
  }, import("zod/v4/core").$strict>], "type">;
3326
3594
  createdAt: import("zod").ZodCoercedDate<unknown>;
3327
3595
  updatedAt: import("zod").ZodCoercedDate<unknown>;
@@ -3339,8 +3607,28 @@ export declare const contract: {
3339
3607
  name: import("zod").ZodString;
3340
3608
  config: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3341
3609
  type: import("zod").ZodLiteral<"basic">;
3342
- frontPattern: import("zod").ZodString;
3343
- backPattern: import("zod").ZodString;
3610
+ front: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3611
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3612
+ style: import("zod").ZodEnum<{
3613
+ compact: "compact";
3614
+ headline: "headline";
3615
+ list: "list";
3616
+ }>;
3617
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3618
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3619
+ layout: import("zod").ZodString;
3620
+ }, import("zod/v4/core").$strict>]>;
3621
+ back: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3622
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3623
+ style: import("zod").ZodEnum<{
3624
+ compact: "compact";
3625
+ headline: "headline";
3626
+ list: "list";
3627
+ }>;
3628
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3629
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3630
+ layout: import("zod").ZodString;
3631
+ }, import("zod/v4/core").$strict>]>;
3344
3632
  }, import("zod/v4/core").$strict>], "type">;
3345
3633
  createdAt: import("zod").ZodCoercedDate<unknown>;
3346
3634
  updatedAt: import("zod").ZodCoercedDate<unknown>;
@@ -3354,8 +3642,28 @@ export declare const contract: {
3354
3642
  name: import("zod").ZodString;
3355
3643
  config: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3356
3644
  type: import("zod").ZodLiteral<"basic">;
3357
- frontPattern: import("zod").ZodString;
3358
- backPattern: import("zod").ZodString;
3645
+ front: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3646
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3647
+ style: import("zod").ZodEnum<{
3648
+ compact: "compact";
3649
+ headline: "headline";
3650
+ list: "list";
3651
+ }>;
3652
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3653
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3654
+ layout: import("zod").ZodString;
3655
+ }, import("zod/v4/core").$strict>]>;
3656
+ back: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3657
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3658
+ style: import("zod").ZodEnum<{
3659
+ compact: "compact";
3660
+ headline: "headline";
3661
+ list: "list";
3662
+ }>;
3663
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3664
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3665
+ layout: import("zod").ZodString;
3666
+ }, import("zod/v4/core").$strict>]>;
3359
3667
  }, import("zod/v4/core").$strict>], "type">;
3360
3668
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3361
3669
  id: import("zod").ZodUUID;
@@ -3363,13 +3671,33 @@ export declare const contract: {
3363
3671
  name: import("zod").ZodString;
3364
3672
  config: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3365
3673
  type: import("zod").ZodLiteral<"basic">;
3366
- frontPattern: import("zod").ZodString;
3367
- backPattern: import("zod").ZodString;
3674
+ front: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3675
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3676
+ style: import("zod").ZodEnum<{
3677
+ compact: "compact";
3678
+ headline: "headline";
3679
+ list: "list";
3680
+ }>;
3681
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3682
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3683
+ layout: import("zod").ZodString;
3684
+ }, import("zod/v4/core").$strict>]>;
3685
+ back: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3686
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3687
+ style: import("zod").ZodEnum<{
3688
+ compact: "compact";
3689
+ headline: "headline";
3690
+ list: "list";
3691
+ }>;
3692
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3693
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3694
+ layout: import("zod").ZodString;
3695
+ }, import("zod/v4/core").$strict>]>;
3368
3696
  }, import("zod/v4/core").$strict>], "type">;
3369
3697
  createdAt: import("zod").ZodCoercedDate<unknown>;
3370
3698
  updatedAt: import("zod").ZodCoercedDate<unknown>;
3371
3699
  txid: import("zod").ZodNumber;
3372
- }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS" | "NOTEBASE_NOT_FOUND">>, Pick<import("@orpc/contract").ErrorMap, "RESOURCE_ALREADY_EXISTS">>, {
3700
+ }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "CARD_TEMPLATE_INVALID_LAYOUT" | "CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS" | "NOTEBASE_NOT_FOUND">>, Pick<import("@orpc/contract").ErrorMap, "RESOURCE_ALREADY_EXISTS">>, {
3373
3701
  summary: string;
3374
3702
  description: string;
3375
3703
  } & Record<never, never>>;
@@ -3379,8 +3707,28 @@ export declare const contract: {
3379
3707
  name: import("zod").ZodOptional<import("zod").ZodString>;
3380
3708
  config: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3381
3709
  type: import("zod").ZodLiteral<"basic">;
3382
- frontPattern: import("zod").ZodString;
3383
- backPattern: import("zod").ZodString;
3710
+ front: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3711
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3712
+ style: import("zod").ZodEnum<{
3713
+ compact: "compact";
3714
+ headline: "headline";
3715
+ list: "list";
3716
+ }>;
3717
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3718
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3719
+ layout: import("zod").ZodString;
3720
+ }, import("zod/v4/core").$strict>]>;
3721
+ back: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3722
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3723
+ style: import("zod").ZodEnum<{
3724
+ compact: "compact";
3725
+ headline: "headline";
3726
+ list: "list";
3727
+ }>;
3728
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3729
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3730
+ layout: import("zod").ZodString;
3731
+ }, import("zod/v4/core").$strict>]>;
3384
3732
  }, import("zod/v4/core").$strict>], "type">>;
3385
3733
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3386
3734
  id: import("zod").ZodUUID;
@@ -3388,13 +3736,33 @@ export declare const contract: {
3388
3736
  name: import("zod").ZodString;
3389
3737
  config: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3390
3738
  type: import("zod").ZodLiteral<"basic">;
3391
- frontPattern: import("zod").ZodString;
3392
- backPattern: import("zod").ZodString;
3739
+ front: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3740
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3741
+ style: import("zod").ZodEnum<{
3742
+ compact: "compact";
3743
+ headline: "headline";
3744
+ list: "list";
3745
+ }>;
3746
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3747
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3748
+ layout: import("zod").ZodString;
3749
+ }, import("zod/v4/core").$strict>]>;
3750
+ back: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3751
+ columns: import("zod").ZodArray<import("zod").ZodUUID>;
3752
+ style: import("zod").ZodEnum<{
3753
+ compact: "compact";
3754
+ headline: "headline";
3755
+ list: "list";
3756
+ }>;
3757
+ speak: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
3758
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3759
+ layout: import("zod").ZodString;
3760
+ }, import("zod/v4/core").$strict>]>;
3393
3761
  }, import("zod/v4/core").$strict>], "type">;
3394
3762
  createdAt: import("zod").ZodCoercedDate<unknown>;
3395
3763
  updatedAt: import("zod").ZodCoercedDate<unknown>;
3396
3764
  txid: import("zod").ZodNumber;
3397
- }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS" | "CARD_TEMPLATE_NOT_FOUND">>, Pick<import("@orpc/contract").ErrorMap, "RESOURCE_UPDATE_CONFLICT">>, {
3765
+ }, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "CARD_TEMPLATE_INVALID_LAYOUT" | "CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS" | "CARD_TEMPLATE_NOT_FOUND">>, Pick<import("@orpc/contract").ErrorMap, "RESOURCE_UPDATE_CONFLICT">>, {
3398
3766
  summary: string;
3399
3767
  description: string;
3400
3768
  } & Record<never, never>>;
@@ -3888,6 +4256,16 @@ export declare const contract: {
3888
4256
  }, unknown, void>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "HOSTED_AI_QUOTA_EXHAUSTED" | "HOSTED_AI_TIER_RESTRICTED">>, Record<never, never>>;
3889
4257
  };
3890
4258
  };
4259
+ masteryGoal: {
4260
+ get: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
4261
+ target: import("zod").ZodNullable<import("zod").ZodNumber>;
4262
+ }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
4263
+ update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
4264
+ target: import("zod").ZodNullable<import("zod").ZodNumber>;
4265
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
4266
+ target: import("zod").ZodNullable<import("zod").ZodNumber>;
4267
+ }, import("zod/v4/core").$strict>, Record<never, never>, Record<never, never>>;
4268
+ };
3891
4269
  mcpConnection: {
3892
4270
  list: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodArray<import("zod").ZodObject<{
3893
4271
  clientId: import("zod").ZodString;
@@ -3941,6 +4319,10 @@ export declare const contract: {
3941
4319
  srsLeechThreshold: import("zod").ZodNumber;
3942
4320
  srsEnableFuzz: import("zod").ZodBoolean;
3943
4321
  srsWeights: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodNumber>>;
4322
+ srsModelVersion: import("zod").ZodEnum<{
4323
+ "FSRS-6": "FSRS-6";
4324
+ "FSRS-7": "FSRS-7";
4325
+ }>;
3944
4326
  createdAt: import("zod").ZodCoercedDate<unknown>;
3945
4327
  updatedAt: import("zod").ZodCoercedDate<unknown>;
3946
4328
  notebaseColumns: import("zod").ZodArray<import("zod").ZodObject<{
@@ -4105,6 +4487,10 @@ export declare const contract: {
4105
4487
  srsLeechThreshold: import("zod").ZodNumber;
4106
4488
  srsEnableFuzz: import("zod").ZodBoolean;
4107
4489
  srsWeights: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodNumber>>;
4490
+ srsModelVersion: import("zod").ZodEnum<{
4491
+ "FSRS-6": "FSRS-6";
4492
+ "FSRS-7": "FSRS-7";
4493
+ }>;
4108
4494
  createdAt: import("zod").ZodDate;
4109
4495
  updatedAt: import("zod").ZodDate;
4110
4496
  }, import("zod/v4/core").$strip>;
@@ -4134,6 +4520,10 @@ export declare const contract: {
4134
4520
  srsLeechThreshold: import("zod").ZodNumber;
4135
4521
  srsEnableFuzz: import("zod").ZodBoolean;
4136
4522
  srsWeights: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodNumber>>;
4523
+ srsModelVersion: import("zod").ZodEnum<{
4524
+ "FSRS-6": "FSRS-6";
4525
+ "FSRS-7": "FSRS-7";
4526
+ }>;
4137
4527
  createdAt: import("zod").ZodDate;
4138
4528
  updatedAt: import("zod").ZodDate;
4139
4529
  }, import("zod/v4/core").$strip>;
@@ -4459,6 +4849,19 @@ export declare const contract: {
4459
4849
  summary: string;
4460
4850
  description: string;
4461
4851
  } & Record<never, never>>;
4852
+ recentNotebaseScheduleStatusStats: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
4853
+ timezone: import("zod").ZodString;
4854
+ }, import("zod/v4/core").$strict>, import("zod").ZodNullable<import("zod").ZodObject<{
4855
+ notebase: import("zod").ZodObject<{
4856
+ id: import("zod").ZodString;
4857
+ name: import("zod").ZodString;
4858
+ }, import("zod/v4/core").$strip>;
4859
+ stats: import("zod").ZodRecord<import("zod").ZodEnum<{
4860
+ learning: "learning";
4861
+ new: "new";
4862
+ review: "review";
4863
+ }>, import("zod").ZodNumber>;
4864
+ }, import("zod/v4/core").$strip>>, Record<never, never>, Record<never, never>>;
4462
4865
  listUnreadOptimizerResults: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodArray<import("zod").ZodObject<{
4463
4866
  runId: import("zod").ZodUUID;
4464
4867
  notebaseName: import("zod").ZodString;
@@ -4500,7 +4903,13 @@ export declare const contract: {
4500
4903
  review: "review";
4501
4904
  suspended: "suspended";
4502
4905
  }>;
4503
- afterStability: import("zod").ZodNumber;
4906
+ afterMemoryState: import("zod").ZodObject<{
4907
+ stability: import("zod").ZodNumber;
4908
+ stabilityFast: import("zod").ZodNumber;
4909
+ difficulty: import("zod").ZodNumber;
4910
+ }, import("zod/v4/core").$strict>;
4911
+ retentionDays90: import("zod").ZodNumber;
4912
+ afterRetentionDays90: import("zod").ZodNumber;
4504
4913
  reviewedAt: import("zod").ZodCoercedDate<unknown>;
4505
4914
  durationMs: import("zod").ZodNumber;
4506
4915
  createdAt: import("zod").ZodCoercedDate<unknown>;
@@ -4543,7 +4952,9 @@ export declare const contract: {
4543
4952
  }>;
4544
4953
  dueAt: import("zod").ZodCoercedDate<unknown>;
4545
4954
  lastReviewTime: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
4955
+ retentionDays90: import("zod").ZodNumber;
4546
4956
  stability: import("zod").ZodNumber;
4957
+ stabilityFast: import("zod").ZodNumber;
4547
4958
  difficulty: import("zod").ZodNumber;
4548
4959
  step: import("zod").ZodNumber;
4549
4960
  lapses: import("zod").ZodNumber;
@@ -4576,10 +4987,16 @@ export declare const contract: {
4576
4987
  review: "review";
4577
4988
  suspended: "suspended";
4578
4989
  }>;
4579
- afterStability: import("zod").ZodNumber;
4990
+ afterMemoryState: import("zod").ZodObject<{
4991
+ stability: import("zod").ZodNumber;
4992
+ stabilityFast: import("zod").ZodNumber;
4993
+ difficulty: import("zod").ZodNumber;
4994
+ }, import("zod/v4/core").$strict>;
4995
+ retentionDays90: import("zod").ZodNumber;
4996
+ afterRetentionDays90: import("zod").ZodNumber;
4580
4997
  reviewedAt: import("zod").ZodCoercedDate<unknown>;
4581
4998
  durationMs: import("zod").ZodNumber;
4582
- fsrsReviewLogSnapshot: import("zod").ZodPipe<import("zod").ZodObject<{
4999
+ fsrsReviewLogSnapshot: import("zod").ZodObject<{
4583
5000
  rating: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<1>, import("zod").ZodLiteral<2>, import("zod").ZodLiteral<3>, import("zod").ZodLiteral<4>]>;
4584
5001
  state: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<0>, import("zod").ZodLiteral<1>, import("zod").ZodLiteral<2>, import("zod").ZodLiteral<3>]>;
4585
5002
  scheduleStatus: import("zod").ZodEnum<{
@@ -4591,32 +5008,11 @@ export declare const contract: {
4591
5008
  dueAt: import("zod").ZodOptional<import("zod").ZodString>;
4592
5009
  lastReviewAt: import("zod").ZodNullable<import("zod").ZodString>;
4593
5010
  stability: import("zod").ZodNumber;
5011
+ stabilityFast: import("zod").ZodOptional<import("zod").ZodNumber>;
4594
5012
  difficulty: import("zod").ZodNumber;
4595
- scheduledDays: import("zod").ZodOptional<import("zod").ZodNumber>;
4596
5013
  learningSteps: import("zod").ZodNumber;
4597
5014
  review: import("zod").ZodString;
4598
- }, import("zod/v4/core").$strict>, import("zod").ZodTransform<{
4599
- rating: 1 | 2 | 3 | 4;
4600
- state: 0 | 1 | 2 | 3;
4601
- scheduleStatus: "learning" | "new" | "review" | "suspended";
4602
- dueAt?: string | undefined;
4603
- lastReviewAt: string | null;
4604
- stability: number;
4605
- difficulty: number;
4606
- learningSteps: number;
4607
- review: string;
4608
- }, {
4609
- rating: 1 | 2 | 3 | 4;
4610
- state: 0 | 1 | 2 | 3;
4611
- scheduleStatus: "learning" | "new" | "review" | "suspended";
4612
- dueAt?: string | undefined;
4613
- lastReviewAt: string | null;
4614
- stability: number;
4615
- difficulty: number;
4616
- scheduledDays?: number | undefined;
4617
- learningSteps: number;
4618
- review: string;
4619
- }>>;
5015
+ }, import("zod/v4/core").$strict>;
4620
5016
  createdAt: import("zod").ZodCoercedDate<unknown>;
4621
5017
  }, import("zod/v4/core").$strip>;
4622
5018
  txid: import("zod").ZodNumber;
@@ -4650,7 +5046,9 @@ export declare const contract: {
4650
5046
  }>;
4651
5047
  dueAt: import("zod").ZodCoercedDate<unknown>;
4652
5048
  lastReviewTime: import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>;
5049
+ retentionDays90: import("zod").ZodNumber;
4653
5050
  stability: import("zod").ZodNumber;
5051
+ stabilityFast: import("zod").ZodNumber;
4654
5052
  difficulty: import("zod").ZodNumber;
4655
5053
  step: import("zod").ZodNumber;
4656
5054
  lapses: import("zod").ZodNumber;