@read-frog/api-contract 0.9.4 → 0.10.1
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 +82 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +105 -9
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/contracts/hosted-ai.ts +12 -0
- package/src/contracts/notebase-row.ts +18 -0
- package/src/contracts/notebase.ts +1 -1
- package/src/public-errors.ts +2 -0
- package/src/schemas/hosted-ai.ts +43 -0
- package/src/schemas/notebase-row.ts +32 -0
- package/src/schemas/notebase.ts +39 -6
package/dist/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ declare const CellValidationFailedDataSchema: z.ZodObject<{
|
|
|
33
33
|
invalid_select_option: "invalid_select_option";
|
|
34
34
|
invalid_date_format: "invalid_date_format";
|
|
35
35
|
}>;
|
|
36
|
+
rowIndex: z.ZodOptional<z.ZodNumber>;
|
|
36
37
|
}, z.core.$strict>;
|
|
37
38
|
type CellValidationFailedData = z.infer<typeof CellValidationFailedDataSchema>;
|
|
38
39
|
declare const CardTemplateInvalidColumnsDataSchema: z.ZodObject<{
|
|
@@ -159,6 +160,7 @@ declare const PUBLIC_APP_ERROR_DEFS: {
|
|
|
159
160
|
invalid_select_option: "invalid_select_option";
|
|
160
161
|
invalid_date_format: "invalid_date_format";
|
|
161
162
|
}>;
|
|
163
|
+
rowIndex: z.ZodOptional<z.ZodNumber>;
|
|
162
164
|
}, z.core.$strict>;
|
|
163
165
|
readonly message: "Cell validation failed";
|
|
164
166
|
readonly status: 422;
|
|
@@ -297,6 +299,7 @@ declare function getPublicErrorDefinition<TCode extends PublicAppErrorCode>(code
|
|
|
297
299
|
invalid_select_option: "invalid_select_option";
|
|
298
300
|
invalid_date_format: "invalid_date_format";
|
|
299
301
|
}>;
|
|
302
|
+
rowIndex: z.ZodOptional<z.ZodNumber>;
|
|
300
303
|
}, z.core.$strict>;
|
|
301
304
|
readonly message: "Cell validation failed";
|
|
302
305
|
readonly status: 422;
|
|
@@ -711,6 +714,34 @@ declare const HostedAiStreamStructuredObjectInputSchema: z.ZodObject<{
|
|
|
711
714
|
}, z.core.$strict>>;
|
|
712
715
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
713
716
|
}, z.core.$strict>;
|
|
717
|
+
declare const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES = 2;
|
|
718
|
+
declare const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS = 16;
|
|
719
|
+
declare const HostedAiNoteSuggestionStreamInputSchema: z.ZodObject<{
|
|
720
|
+
instructions: z.ZodString;
|
|
721
|
+
prompt: z.ZodString;
|
|
722
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
723
|
+
}, z.core.$strict>;
|
|
724
|
+
/**
|
|
725
|
+
* Fixed structured-output schema for hosted note suggestions. Must stay
|
|
726
|
+
* strict-structured-outputs-safe: strict objects only, no records, no
|
|
727
|
+
* `.optional()` (nullable-only), unions limited to primitives. If the upstream
|
|
728
|
+
* deployment rejects `maxItems`/`maxLength` constraint keywords, strip the
|
|
729
|
+
* `.max()` calls from the model-facing copy only — clients still validate
|
|
730
|
+
* against this schema.
|
|
731
|
+
*/
|
|
732
|
+
declare const HostedAiNoteSuggestionObjectSchema: z.ZodObject<{
|
|
733
|
+
action: z.ZodObject<{
|
|
734
|
+
createNewDictionaryAction: z.ZodBoolean;
|
|
735
|
+
targetActionId: z.ZodNullable<z.ZodString>;
|
|
736
|
+
summaryFieldName: z.ZodNullable<z.ZodString>;
|
|
737
|
+
}, z.core.$strict>;
|
|
738
|
+
notes: z.ZodArray<z.ZodObject<{
|
|
739
|
+
fields: z.ZodArray<z.ZodObject<{
|
|
740
|
+
name: z.ZodString;
|
|
741
|
+
value: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
742
|
+
}, z.core.$strict>>;
|
|
743
|
+
}, z.core.$strict>>;
|
|
744
|
+
}, z.core.$strict>;
|
|
714
745
|
declare const HostedAiStreamPartSchema: z.ZodObject<{
|
|
715
746
|
type: z.ZodString;
|
|
716
747
|
}, z.core.$loose>;
|
|
@@ -718,6 +749,8 @@ type HostedAiOutputFieldType = z.infer<typeof HostedAiOutputFieldTypeSchema>;
|
|
|
718
749
|
type HostedAiOutputField = z.infer<typeof HostedAiOutputFieldSchema>;
|
|
719
750
|
type HostedAiStreamTextInput = z.infer<typeof HostedAiStreamTextInputSchema>;
|
|
720
751
|
type HostedAiStreamStructuredObjectInput = z.infer<typeof HostedAiStreamStructuredObjectInputSchema>;
|
|
752
|
+
type HostedAiNoteSuggestionStreamInput = z.infer<typeof HostedAiNoteSuggestionStreamInputSchema>;
|
|
753
|
+
type HostedAiNoteSuggestionObject = z.infer<typeof HostedAiNoteSuggestionObjectSchema>;
|
|
721
754
|
type HostedAiStreamPart = z.infer<typeof HostedAiStreamPartSchema>;
|
|
722
755
|
//#endregion
|
|
723
756
|
//#region src/schemas/notebase.d.ts
|
|
@@ -786,6 +819,10 @@ declare const notebaseCreateDataSchema: z.ZodObject<{
|
|
|
786
819
|
id: z.ZodOptional<z.ZodUUID>;
|
|
787
820
|
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
788
821
|
}, z.core.$strict>>;
|
|
822
|
+
initialRows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
823
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
824
|
+
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
825
|
+
}, z.core.$strict>>>;
|
|
789
826
|
}, z.core.$strict>>;
|
|
790
827
|
}, z.core.$strict>;
|
|
791
828
|
type NotebaseCreateData = z.infer<typeof notebaseCreateDataSchema>;
|
|
@@ -824,6 +861,10 @@ declare const NotebaseCreateInputSchema: z.ZodObject<{
|
|
|
824
861
|
id: z.ZodOptional<z.ZodUUID>;
|
|
825
862
|
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
826
863
|
}, z.core.$strict>>;
|
|
864
|
+
initialRows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
865
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
866
|
+
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
867
|
+
}, z.core.$strict>>>;
|
|
827
868
|
}, z.core.$strict>>;
|
|
828
869
|
}, z.core.$strict>;
|
|
829
870
|
type NotebaseCreateInput = z.infer<typeof NotebaseCreateInputSchema>;
|
|
@@ -1195,6 +1236,19 @@ declare const NotebaseRowCreateOutputSchema: z.ZodObject<{
|
|
|
1195
1236
|
txid: z.ZodNumber;
|
|
1196
1237
|
}, z.core.$strip>;
|
|
1197
1238
|
type NotebaseRowCreateOutput = z.infer<typeof NotebaseRowCreateOutputSchema>;
|
|
1239
|
+
declare const NOTEBASE_ROW_CREATE_MANY_MAX_ROWS = 50;
|
|
1240
|
+
declare const NotebaseRowCreateManyInputSchema: z.ZodObject<{
|
|
1241
|
+
notebaseId: z.ZodUUID;
|
|
1242
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
1243
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
1244
|
+
cells: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1245
|
+
}, z.core.$strict>>;
|
|
1246
|
+
}, z.core.$strip>;
|
|
1247
|
+
type NotebaseRowCreateManyInput = z.infer<typeof NotebaseRowCreateManyInputSchema>;
|
|
1248
|
+
declare const NotebaseRowCreateManyOutputSchema: z.ZodObject<{
|
|
1249
|
+
txid: z.ZodNumber;
|
|
1250
|
+
}, z.core.$strip>;
|
|
1251
|
+
type NotebaseRowCreateManyOutput = z.infer<typeof NotebaseRowCreateManyOutputSchema>;
|
|
1198
1252
|
declare const NotebaseRowUpdateInputSchema: z.ZodObject<{
|
|
1199
1253
|
notebaseRowId: z.ZodUUID;
|
|
1200
1254
|
data: z.ZodObject<{
|
|
@@ -1926,6 +1980,19 @@ declare const contract: {
|
|
|
1926
1980
|
type: string;
|
|
1927
1981
|
}, unknown, void>>, Record<never, never>, Record<never, never>>;
|
|
1928
1982
|
};
|
|
1983
|
+
noteSuggestion: {
|
|
1984
|
+
streamStructuredObject: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
1985
|
+
instructions: import("zod").ZodString;
|
|
1986
|
+
prompt: import("zod").ZodString;
|
|
1987
|
+
temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1988
|
+
}, import("zod/v4/core").$strict>, import("@orpc/contract").Schema<AsyncIteratorObject<{
|
|
1989
|
+
[x: string]: unknown;
|
|
1990
|
+
type: string;
|
|
1991
|
+
}, unknown, void>, import("@orpc/contract").AsyncIteratorClass<{
|
|
1992
|
+
[x: string]: unknown;
|
|
1993
|
+
type: string;
|
|
1994
|
+
}, unknown, void>>, Record<never, never>, Record<never, never>>;
|
|
1995
|
+
};
|
|
1929
1996
|
};
|
|
1930
1997
|
notebase: {
|
|
1931
1998
|
list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
|
|
@@ -2087,10 +2154,14 @@ declare const contract: {
|
|
|
2087
2154
|
id: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
2088
2155
|
cells: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
2089
2156
|
}, import("zod/v4/core").$strict>>;
|
|
2157
|
+
initialRows: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
2158
|
+
id: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
2159
|
+
cells: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
2160
|
+
}, import("zod/v4/core").$strict>>>;
|
|
2090
2161
|
}, import("zod/v4/core").$strict>>;
|
|
2091
2162
|
}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
2092
2163
|
txid: import("zod").ZodNumber;
|
|
2093
|
-
}, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTE_LIMIT_EXCEEDED">>, Record<never, never>>;
|
|
2164
|
+
}, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTE_LIMIT_EXCEEDED" | "CELL_VALIDATION_FAILED">>, Record<never, never>>;
|
|
2094
2165
|
update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
2095
2166
|
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
2096
2167
|
srsNewPerDay: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
@@ -2192,6 +2263,15 @@ declare const contract: {
|
|
|
2192
2263
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
2193
2264
|
txid: import("zod").ZodNumber;
|
|
2194
2265
|
}, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTEBASE_NOT_FOUND" | "NOTE_LIMIT_EXCEEDED" | "CELL_VALIDATION_FAILED" | "CONCURRENT_POSITION_CONFLICT">>, Record<never, never>>;
|
|
2266
|
+
createMany: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
2267
|
+
notebaseId: import("zod").ZodUUID;
|
|
2268
|
+
rows: import("zod").ZodArray<import("zod").ZodObject<{
|
|
2269
|
+
id: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
2270
|
+
cells: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
2271
|
+
}, import("zod/v4/core").$strict>>;
|
|
2272
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
2273
|
+
txid: import("zod").ZodNumber;
|
|
2274
|
+
}, import("zod/v4/core").$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Pick<import("@orpc/contract").ErrorMap, "NOTEBASE_NOT_FOUND" | "NOTE_LIMIT_EXCEEDED" | "CELL_VALIDATION_FAILED" | "CONCURRENT_POSITION_CONFLICT">>, Record<never, never>>;
|
|
2195
2275
|
update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
2196
2276
|
notebaseRowId: import("zod").ZodUUID;
|
|
2197
2277
|
data: import("zod").ZodObject<{
|
|
@@ -2434,5 +2514,5 @@ declare const contract: {
|
|
|
2434
2514
|
};
|
|
2435
2515
|
type ORPCRouterClient = ContractRouterClient<typeof contract>;
|
|
2436
2516
|
//#endregion
|
|
2437
|
-
export { BetaAccessStatusInput, BetaAccessStatusInputSchema, BetaAccessStatusOutput, BetaAccessStatusOutputSchema, BetaFeatureKey, BetaFeatureKeySchema, BillingAccessSource, BillingCheckoutChannel, BillingCheckoutPlan, BillingCreateCheckoutSessionInput, BillingInterval, BillingPlan, BillingSessionUrlOutput, BillingStatus, BillingSubscriptionStatus, Card, CardGenerateInput, CardGenerateInputSchema, CardGenerateOutput, CardGenerateOutputSchema, CardGetInput, CardGetInputSchema, CardGetOutput, CardGetOutputSchema, CardListInput, CardListInputSchema, CardListOutput, CardListOutputSchema, type CardState, CardTemplate, CardTemplateCreateInput, CardTemplateCreateInputSchema, CardTemplateCreateOutput, CardTemplateCreateOutputSchema, CardTemplateDeleteInput, CardTemplateDeleteInputSchema, CardTemplateDeleteOutput, CardTemplateDeleteOutputSchema, CardTemplateGetInput, CardTemplateGetInputSchema, CardTemplateGetOutput, CardTemplateGetOutputSchema, CardTemplateInvalidColumnsData, CardTemplateInvalidColumnsDataSchema, CardTemplateListInput, CardTemplateListInputSchema, CardTemplateListOutput, CardTemplateListOutputSchema, CardTemplateUpdateInput, CardTemplateUpdateInputSchema, CardTemplateUpdateOutput, CardTemplateUpdateOutputSchema, CellValidationFailedData, CellValidationFailedDataSchema, CellValidationFailureDetails, CellValidationFailureDetailsSchema, CellValidationFailureReason, CellValidationFailureReasonSchema, HostedAiOutputField, HostedAiOutputFieldSchema, HostedAiOutputFieldType, HostedAiOutputFieldTypeSchema, HostedAiStreamPart, HostedAiStreamPartSchema, HostedAiStreamStructuredObjectInput, HostedAiStreamStructuredObjectInputSchema, HostedAiStreamTextInput, HostedAiStreamTextInputSchema, Notebase, NotebaseColumn, NotebaseColumnCreateData, NotebaseColumnCreateInput, NotebaseColumnCreateInputSchema, NotebaseColumnCreateOutput, NotebaseColumnCreateOutputSchema, NotebaseColumnDeleteInput, NotebaseColumnDeleteInputSchema, NotebaseColumnDeleteOutput, NotebaseColumnDeleteOutputSchema, NotebaseColumnReorderInput, NotebaseColumnReorderInputSchema, NotebaseColumnReorderOutput, NotebaseColumnReorderOutputSchema, NotebaseColumnUpdateData, NotebaseColumnUpdateInput, NotebaseColumnUpdateInputSchema, NotebaseColumnUpdateOutput, NotebaseColumnUpdateOutputSchema, NotebaseCreateData, NotebaseCreateInput, NotebaseCreateInputSchema, NotebaseCreateOutput, NotebaseCreateOutputSchema, NotebaseDeleteInput, NotebaseDeleteInputSchema, NotebaseDeleteOutput, NotebaseDeleteOutputSchema, NotebaseGetInput, NotebaseGetInputSchema, NotebaseGetOutput, NotebaseGetOutputSchema, NotebaseGetSchemaInput, NotebaseGetSchemaInputSchema, NotebaseGetSchemaOutput, NotebaseGetSchemaOutputSchema, NotebaseListInput, NotebaseListInputSchema, NotebaseListItem, NotebaseListItemSchema, NotebaseListOutput, NotebaseListOutputSchema, NotebaseRow, NotebaseRowCreateData, NotebaseRowCreateInput, NotebaseRowCreateInputSchema, NotebaseRowCreateOutput, NotebaseRowCreateOutputSchema, NotebaseRowDeleteInput, NotebaseRowDeleteInputSchema, NotebaseRowDeleteOutput, NotebaseRowDeleteOutputSchema, NotebaseRowReorderInput, NotebaseRowReorderInputSchema, NotebaseRowReorderOutput, NotebaseRowReorderOutputSchema, NotebaseRowUpdateData, NotebaseRowUpdateInput, NotebaseRowUpdateInputSchema, NotebaseRowUpdateOutput, NotebaseRowUpdateOutputSchema, NotebaseUpdateData, NotebaseUpdateInput, NotebaseUpdateInputSchema, NotebaseUpdateOutput, NotebaseUpdateOutputSchema, NotebaseView, NotebaseViewConfig, NotebaseViewCreateData, NotebaseViewFilter, NotebaseViewSort, NotebaseViewType, NotebaseViewUpdateData, ORPCRouterClient, PUBLIC_APP_ERROR_DEFS, PublicAppErrorCode, PublicAppErrorData, RenderedCard, type ReviewRating, SRS_REVIEW_CLIENT_ID_NAMESPACE, SRS_REVIEW_DURATION_MS_MAX, type ScheduleStatus, type SchedulingParams, SrsManualCardStatusInput, SrsReviewClientIdCard, SrsReviewInput, SrsReviewOutput, SrsRevlog, SrsRevlogWithoutSnapshot, SrsRollbackReviewInput, SrsRollbackReviewOutput, SrsScheduleStatusStats, SrsScheduleStatusStatsInput, SrsScheduleStatusStatsOutput, SrsSetCardBuriedInput, SrsSetCardBuriedOutput, SrsSetCardSuspendedInput, SrsSetCardSuspendedOutput, SrsTxidOutput, Step, Timezone, UserEnsureTimezoneInput, UserEnsureTimezoneOutput, UserUpdateTimezoneInput, UserUpdateTimezoneOutput, VideoTranscriptCreateInput, VideoTranscriptGetInput, VideoTranscriptResource, VideoTranscriptStatus, VideoTranscriptSubtitles, VideoTranscriptUsage, billingAccessSourceSchema, billingCheckoutChannelSchema, billingCheckoutPlanSchema, billingCreateCheckoutSessionInputSchema, billingIntervalSchema, billingPlanSchema, billingSessionUrlOutputSchema, billingStatusSchema, billingSubscriptionStatusSchema, cardSchema, cardStateSchema, cardTemplateSchema, contract, createSrsReviewClientId, getPublicErrorDefinition, isPublicAppErrorCode, notebaseColumnCreateDataSchema, notebaseColumnSchema, notebaseColumnUpdateDataSchema, notebaseColumnWidthSchema, notebaseCreateDataSchema, notebaseRowCellsSchema, notebaseRowCreateDataSchema, notebaseRowSchema, notebaseRowUpdateDataSchema, notebaseSchema, notebaseUpdateDataSchema, notebaseViewConfigSchema, notebaseViewCreateDataSchema, notebaseViewFilterSchema, notebaseViewFiltersSchema, notebaseViewSchema, notebaseViewSortSchema, notebaseViewSortsSchema, notebaseViewTypeSchema, notebaseViewUpdateDataSchema, pickPublicErrorMap, renderedCardSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema, srsManualCardStatusInputSchema, srsReviewInputSchema, srsReviewOutputSchema, srsRevlogSchema, srsRevlogWithoutSnapshotSchema, srsRollbackReviewInputSchema, srsRollbackReviewOutputSchema, srsScheduleStatusStatsInputSchema, srsScheduleStatusStatsOutputSchema, srsScheduleStatusStatsSchema, srsSetCardBuriedInputSchema, srsSetCardBuriedOutputSchema, srsSetCardSuspendedInputSchema, srsSetCardSuspendedOutputSchema, srsTxidOutputSchema, stepSchema, timezoneSchema, userEnsureTimezoneInputSchema, userEnsureTimezoneOutputSchema, userUpdateTimezoneInputSchema, userUpdateTimezoneOutputSchema, videoTranscriptCreateInputSchema, videoTranscriptGetInputSchema, videoTranscriptResourceSchema, videoTranscriptStatusSchema, videoTranscriptSubtitlesSchema, videoTranscriptUsageSchema };
|
|
2517
|
+
export { BetaAccessStatusInput, BetaAccessStatusInputSchema, BetaAccessStatusOutput, BetaAccessStatusOutputSchema, BetaFeatureKey, BetaFeatureKeySchema, BillingAccessSource, BillingCheckoutChannel, BillingCheckoutPlan, BillingCreateCheckoutSessionInput, BillingInterval, BillingPlan, BillingSessionUrlOutput, BillingStatus, BillingSubscriptionStatus, Card, CardGenerateInput, CardGenerateInputSchema, CardGenerateOutput, CardGenerateOutputSchema, CardGetInput, CardGetInputSchema, CardGetOutput, CardGetOutputSchema, CardListInput, CardListInputSchema, CardListOutput, CardListOutputSchema, type CardState, CardTemplate, CardTemplateCreateInput, CardTemplateCreateInputSchema, CardTemplateCreateOutput, CardTemplateCreateOutputSchema, CardTemplateDeleteInput, CardTemplateDeleteInputSchema, CardTemplateDeleteOutput, CardTemplateDeleteOutputSchema, CardTemplateGetInput, CardTemplateGetInputSchema, CardTemplateGetOutput, CardTemplateGetOutputSchema, CardTemplateInvalidColumnsData, CardTemplateInvalidColumnsDataSchema, CardTemplateListInput, CardTemplateListInputSchema, CardTemplateListOutput, CardTemplateListOutputSchema, CardTemplateUpdateInput, CardTemplateUpdateInputSchema, CardTemplateUpdateOutput, CardTemplateUpdateOutputSchema, CellValidationFailedData, CellValidationFailedDataSchema, CellValidationFailureDetails, CellValidationFailureDetailsSchema, CellValidationFailureReason, CellValidationFailureReasonSchema, HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES, HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS, HostedAiNoteSuggestionObject, HostedAiNoteSuggestionObjectSchema, HostedAiNoteSuggestionStreamInput, HostedAiNoteSuggestionStreamInputSchema, HostedAiOutputField, HostedAiOutputFieldSchema, HostedAiOutputFieldType, HostedAiOutputFieldTypeSchema, HostedAiStreamPart, HostedAiStreamPartSchema, HostedAiStreamStructuredObjectInput, HostedAiStreamStructuredObjectInputSchema, HostedAiStreamTextInput, HostedAiStreamTextInputSchema, NOTEBASE_ROW_CREATE_MANY_MAX_ROWS, Notebase, NotebaseColumn, NotebaseColumnCreateData, NotebaseColumnCreateInput, NotebaseColumnCreateInputSchema, NotebaseColumnCreateOutput, NotebaseColumnCreateOutputSchema, NotebaseColumnDeleteInput, NotebaseColumnDeleteInputSchema, NotebaseColumnDeleteOutput, NotebaseColumnDeleteOutputSchema, NotebaseColumnReorderInput, NotebaseColumnReorderInputSchema, NotebaseColumnReorderOutput, NotebaseColumnReorderOutputSchema, NotebaseColumnUpdateData, NotebaseColumnUpdateInput, NotebaseColumnUpdateInputSchema, NotebaseColumnUpdateOutput, NotebaseColumnUpdateOutputSchema, NotebaseCreateData, NotebaseCreateInput, NotebaseCreateInputSchema, NotebaseCreateOutput, NotebaseCreateOutputSchema, NotebaseDeleteInput, NotebaseDeleteInputSchema, NotebaseDeleteOutput, NotebaseDeleteOutputSchema, NotebaseGetInput, NotebaseGetInputSchema, NotebaseGetOutput, NotebaseGetOutputSchema, NotebaseGetSchemaInput, NotebaseGetSchemaInputSchema, NotebaseGetSchemaOutput, NotebaseGetSchemaOutputSchema, NotebaseListInput, NotebaseListInputSchema, NotebaseListItem, NotebaseListItemSchema, NotebaseListOutput, NotebaseListOutputSchema, NotebaseRow, NotebaseRowCreateData, NotebaseRowCreateInput, NotebaseRowCreateInputSchema, NotebaseRowCreateManyInput, NotebaseRowCreateManyInputSchema, NotebaseRowCreateManyOutput, NotebaseRowCreateManyOutputSchema, NotebaseRowCreateOutput, NotebaseRowCreateOutputSchema, NotebaseRowDeleteInput, NotebaseRowDeleteInputSchema, NotebaseRowDeleteOutput, NotebaseRowDeleteOutputSchema, NotebaseRowReorderInput, NotebaseRowReorderInputSchema, NotebaseRowReorderOutput, NotebaseRowReorderOutputSchema, NotebaseRowUpdateData, NotebaseRowUpdateInput, NotebaseRowUpdateInputSchema, NotebaseRowUpdateOutput, NotebaseRowUpdateOutputSchema, NotebaseUpdateData, NotebaseUpdateInput, NotebaseUpdateInputSchema, NotebaseUpdateOutput, NotebaseUpdateOutputSchema, NotebaseView, NotebaseViewConfig, NotebaseViewCreateData, NotebaseViewFilter, NotebaseViewSort, NotebaseViewType, NotebaseViewUpdateData, ORPCRouterClient, PUBLIC_APP_ERROR_DEFS, PublicAppErrorCode, PublicAppErrorData, RenderedCard, type ReviewRating, SRS_REVIEW_CLIENT_ID_NAMESPACE, SRS_REVIEW_DURATION_MS_MAX, type ScheduleStatus, type SchedulingParams, SrsManualCardStatusInput, SrsReviewClientIdCard, SrsReviewInput, SrsReviewOutput, SrsRevlog, SrsRevlogWithoutSnapshot, SrsRollbackReviewInput, SrsRollbackReviewOutput, SrsScheduleStatusStats, SrsScheduleStatusStatsInput, SrsScheduleStatusStatsOutput, SrsSetCardBuriedInput, SrsSetCardBuriedOutput, SrsSetCardSuspendedInput, SrsSetCardSuspendedOutput, SrsTxidOutput, Step, Timezone, UserEnsureTimezoneInput, UserEnsureTimezoneOutput, UserUpdateTimezoneInput, UserUpdateTimezoneOutput, VideoTranscriptCreateInput, VideoTranscriptGetInput, VideoTranscriptResource, VideoTranscriptStatus, VideoTranscriptSubtitles, VideoTranscriptUsage, billingAccessSourceSchema, billingCheckoutChannelSchema, billingCheckoutPlanSchema, billingCreateCheckoutSessionInputSchema, billingIntervalSchema, billingPlanSchema, billingSessionUrlOutputSchema, billingStatusSchema, billingSubscriptionStatusSchema, cardSchema, cardStateSchema, cardTemplateSchema, contract, createSrsReviewClientId, getPublicErrorDefinition, isPublicAppErrorCode, notebaseColumnCreateDataSchema, notebaseColumnSchema, notebaseColumnUpdateDataSchema, notebaseColumnWidthSchema, notebaseCreateDataSchema, notebaseRowCellsSchema, notebaseRowCreateDataSchema, notebaseRowSchema, notebaseRowUpdateDataSchema, notebaseSchema, notebaseUpdateDataSchema, notebaseViewConfigSchema, notebaseViewCreateDataSchema, notebaseViewFilterSchema, notebaseViewFiltersSchema, notebaseViewSchema, notebaseViewSortSchema, notebaseViewSortsSchema, notebaseViewTypeSchema, notebaseViewUpdateDataSchema, pickPublicErrorMap, renderedCardSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema, srsManualCardStatusInputSchema, srsReviewInputSchema, srsReviewOutputSchema, srsRevlogSchema, srsRevlogWithoutSnapshotSchema, srsRollbackReviewInputSchema, srsRollbackReviewOutputSchema, srsScheduleStatusStatsInputSchema, srsScheduleStatusStatsOutputSchema, srsScheduleStatusStatsSchema, srsSetCardBuriedInputSchema, srsSetCardBuriedOutputSchema, srsSetCardSuspendedInputSchema, srsSetCardSuspendedOutputSchema, srsTxidOutputSchema, stepSchema, timezoneSchema, userEnsureTimezoneInputSchema, userEnsureTimezoneOutputSchema, userUpdateTimezoneInputSchema, userUpdateTimezoneOutputSchema, videoTranscriptCreateInputSchema, videoTranscriptGetInputSchema, videoTranscriptResourceSchema, videoTranscriptStatusSchema, videoTranscriptSubtitlesSchema, videoTranscriptUsageSchema };
|
|
2438
2518
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/public-errors.ts","../src/schemas/beta-access.ts","../src/schemas/billing.ts","../src/schemas/card.ts","../src/schemas/hosted-ai.ts","../src/schemas/notebase.ts","../src/schemas/notebase-column.ts","../src/schemas/notebase-row.ts","../src/schemas/notebase-view.ts","../src/schemas/timezone.ts","../src/schemas/srs.ts","../src/schemas/user.ts","../src/schemas/video-transcript.ts","../src/index.ts"],"mappings":";;;;;cASa,iCAAA,EAAiC,CAAA,CAAA,OAAA;;;;;;KAMlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;AAAA,cAE5C,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;KAOnC,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,cAE7C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;KAGrC,8BAAA,GAAiC,CAAA,CAAE,KAAK,QAAQ,oCAAA;AAAA,cAE/C,qBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqHD,kBAAA,gBAAkC,qBAAqB;AAAA,KAEvD,kBAAA,eAAiC,kBAAA,YACjC,qBAAA,EAAuB,KAAA;EAAiB,IAAA,wBAA4B,CAAA,CAAE,UAAA;AAAA,IAC5E,CAAA,CAAE,MAAA,CAAO,OAAA;AAAA,iBAGC,oBAAA,CAAqB,IAAA,uBAA2B,IAAA,IAAQ,kBAAkB;AAAA,iBAI1E,wBAAA,eAAuC,kBAAA,EAAoB,IAAA,EAAM,KAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjE,kBAAA,+BAAiD,kBAAA,OAC5D,KAAA,EAAO,MAAA,GAiBH,IAAA,CAAK,QAAA,EAAU,MAAA;;;cCzLX,oBAAA,EAAoB,CAAA,CAAA,OAAA;;;;KACrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;KAG5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;;;cCbvC,qBAAA,EAAqB,CAAA,CAAA,OAAA;;;;KACtB,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,cAEhC,+BAAA,EAA+B,CAAA,CAAA,OAAA;;;;;;;;;;KAUhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,iBAAA,EAAiB,CAAA,CAAA,OAAA;;;;;KAClB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,cAG5B,yBAAA,EAAyB,CAAA,CAAA,OAAA;;;;KAC1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,4BAAA,EAA4B,CAAA,CAAA,OAAA;;;;KAC7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,yBAAA,EAAyB,CAAA,CAAA,OAAA;;;;KAC1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;KAKxC,iCAAA,GAAoC,CAAA,CAAE,KAAK,QAAQ,uCAAA;AAAA,cAElD,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;;;cCtCxC,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;KAQnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;KAG5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,4BAAA,EAA4B,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;KAC7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;KAC5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;KAM9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;KAK9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMX,IAAA,GAAO,CAAA,CAAE,KAAK,QAAQ,UAAA;AAAA,cAErB,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAInB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;KAMpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,oBAAA,EAAoB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;KAGnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;KAIxB,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,cAElC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;KAIzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;;;cClHnC,6BAAA,EAA6B,CAAA,CAAA,OAAA;;;;cAE7B,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;cA2BzB,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;cAO7B,yCAAA,EAAyC,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAyBzC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;KAIzB,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,KACzC,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,KACrC,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,KACzC,mCAAA,GAAsC,CAAA,CAAE,KAAK,QAAQ,yCAAA;AAAA,KACrD,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;;;cCpEnC,uBAAA,EAAuB,CAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AAAA,KACxB,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,cAElC,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;KAIvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,wBAAA,EAAwB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;KACzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;KAiBf,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,cAEzB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAezB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAC1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;KAKzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;KAG1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;KAG1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAGrC,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;KAGvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAG7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOxB,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,cAElC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAM9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;;;cChHxC,yBAAA,EAAyB,CAAA,CAAA,SAAiF;AAAA,cAE1G,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;KAGjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;KAGjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;KAGhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;KAGjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;KAIjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;KAGlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;;;cCvE5C,sBAAA,EAAsB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,UAAA;AAAA,cAEtB,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;;;KAQlB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,cAE5B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;KAI5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;KAG5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;KAS9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAG7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;KAI9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;;;cCtEzC,sBAAA,EAAsB,CAAA,CAAA,OAAA;;;;;KACvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;KAKzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;KAKzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,yBAAA,EAAyB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;cAEzB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;KAIvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,uBAAA,EAAuB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;cAEvB,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAO7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;KAYnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;;;cC/C7B,cAAA,EAAc,CAAA,CAAA,SAQL;AAAA,KACV,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;;;cCCzB,UAAA,EAAU,CAAA,CAAA,kBAAA;AAAA,KACX,IAAA,GAAO,CAAA,CAAE,KAAK,QAAQ,UAAA;AAAA,cAErB,8BAAA;AAAA,UAII,qBAAA;EACf,EAAA;EACA,cAAA,EAAgB,IAAI;AAAA;AAAA,iBAGA,uBAAA,CAAwB,IAAA,EAAM,qBAAA,GAAqB,OAAA;AAAA,cAO5D,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;KAOrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAG7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,4BAAA,EAA4B,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;KAIlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;AAAA,cAE5C,kCAAA,EAAkC,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA;;;;;KAInC,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,cAE7C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;KAI/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;KAC5B,qBAAA,GAAwB,wBAAwB;AAAA,cAE/C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;KAC/B,wBAAA,GAA2B,wBAAwB;AAAA,cAElD,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAYhB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,cAE1B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOtB,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,cAEhC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;KAGpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAC7B,sBAAA,GAAyB,aAAa;AAAA,cAErC,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;KAChC,yBAAA,GAA4B,aAAa;;;cC/HxC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;KAI/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;;;cCnBzC,2BAAA,EAA2B,CAAA,CAAA,OAAA;;;;;;KAM5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAGtC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;KAa9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAGxC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;KAKjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAGxC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;KAK3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;;;cCxCrC,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAcD,gBAAA,GAAmB,oBAAoB,QAAQ,QAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/public-errors.ts","../src/schemas/beta-access.ts","../src/schemas/billing.ts","../src/schemas/card.ts","../src/schemas/hosted-ai.ts","../src/schemas/notebase.ts","../src/schemas/notebase-column.ts","../src/schemas/notebase-row.ts","../src/schemas/notebase-view.ts","../src/schemas/timezone.ts","../src/schemas/srs.ts","../src/schemas/user.ts","../src/schemas/video-transcript.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,9 @@ const CellValidationFailureDetailsSchema = z.object({
|
|
|
34
34
|
const CellValidationFailedDataSchema = z.object({
|
|
35
35
|
notebaseColumnId: z.string(),
|
|
36
36
|
details: CellValidationFailureDetailsSchema,
|
|
37
|
-
reason: CellValidationFailureReasonSchema
|
|
37
|
+
reason: CellValidationFailureReasonSchema,
|
|
38
|
+
/** Index of the failing row within a batch input (createMany / initialRows). */
|
|
39
|
+
rowIndex: z.number().int().min(0).optional()
|
|
38
40
|
}).strict();
|
|
39
41
|
const CardTemplateInvalidColumnsDataSchema = z.object({ notebaseColumnIds: z.array(z.string()) }).strict();
|
|
40
42
|
const PUBLIC_APP_ERROR_DEFS = {
|
|
@@ -397,6 +399,38 @@ const HostedAiStreamStructuredObjectInputSchema = z.strictObject({
|
|
|
397
399
|
fieldNames.add(field.name);
|
|
398
400
|
});
|
|
399
401
|
});
|
|
402
|
+
const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES = 2;
|
|
403
|
+
const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS = 16;
|
|
404
|
+
const HostedAiNoteSuggestionStreamInputSchema = z.strictObject({
|
|
405
|
+
instructions: HostedAiInstructionsSchema,
|
|
406
|
+
prompt: z.string().trim().min(1).max(32e3),
|
|
407
|
+
temperature: z.number().min(0).max(2).optional()
|
|
408
|
+
});
|
|
409
|
+
/**
|
|
410
|
+
* Fixed structured-output schema for hosted note suggestions. Must stay
|
|
411
|
+
* strict-structured-outputs-safe: strict objects only, no records, no
|
|
412
|
+
* `.optional()` (nullable-only), unions limited to primitives. If the upstream
|
|
413
|
+
* deployment rejects `maxItems`/`maxLength` constraint keywords, strip the
|
|
414
|
+
* `.max()` calls from the model-facing copy only — clients still validate
|
|
415
|
+
* against this schema.
|
|
416
|
+
*/
|
|
417
|
+
const HostedAiNoteSuggestionObjectSchema = z.strictObject({
|
|
418
|
+
action: z.strictObject({
|
|
419
|
+
createNewDictionaryAction: z.boolean(),
|
|
420
|
+
targetActionId: z.string().max(128).nullable(),
|
|
421
|
+
/**
|
|
422
|
+
* Name of the chosen schema's field whose value best works as a one-line
|
|
423
|
+
* explanation of the term in UI (usually a definition/meaning field);
|
|
424
|
+
* null when no field fits. Purely a display hint — clients sanitize it
|
|
425
|
+
* and fall back to their own ordering when invalid.
|
|
426
|
+
*/
|
|
427
|
+
summaryFieldName: z.string().max(80).nullable()
|
|
428
|
+
}),
|
|
429
|
+
notes: z.array(z.strictObject({ fields: z.array(z.strictObject({
|
|
430
|
+
name: z.string().max(80),
|
|
431
|
+
value: z.union([z.string(), z.number()]).nullable()
|
|
432
|
+
})).max(16) })).max(2)
|
|
433
|
+
});
|
|
400
434
|
const HostedAiStreamPartSchema = z.looseObject({ type: z.string().trim().min(1) });
|
|
401
435
|
//#endregion
|
|
402
436
|
//#region src/contracts/hosted-ai.ts
|
|
@@ -412,7 +446,13 @@ const hostedAiContract = {
|
|
|
412
446
|
path: "/hosted-ai/custom-actions/stream-structured-object",
|
|
413
447
|
summary: "Stream hosted custom action structured output",
|
|
414
448
|
tags: ["Hosted AI"]
|
|
415
|
-
}).input(HostedAiStreamStructuredObjectInputSchema).output(eventIterator(HostedAiStreamPartSchema)) }
|
|
449
|
+
}).input(HostedAiStreamStructuredObjectInputSchema).output(eventIterator(HostedAiStreamPartSchema)) },
|
|
450
|
+
noteSuggestion: { streamStructuredObject: oc.route({
|
|
451
|
+
method: "POST",
|
|
452
|
+
path: "/hosted-ai/note-suggestions/stream-structured-object",
|
|
453
|
+
summary: "Stream hosted note suggestion structured output",
|
|
454
|
+
tags: ["Hosted AI"]
|
|
455
|
+
}).input(HostedAiNoteSuggestionStreamInputSchema).output(eventIterator(HostedAiStreamPartSchema)) }
|
|
416
456
|
};
|
|
417
457
|
//#endregion
|
|
418
458
|
//#region src/schemas/notebase-column.ts
|
|
@@ -476,6 +516,30 @@ const NotebaseRowCreateInputSchema = z.object({
|
|
|
476
516
|
data: notebaseRowCreateDataSchema
|
|
477
517
|
});
|
|
478
518
|
const NotebaseRowCreateOutputSchema = z.object({ txid: z.number() });
|
|
519
|
+
const NOTEBASE_ROW_CREATE_MANY_MAX_ROWS = 50;
|
|
520
|
+
const NotebaseRowCreateManyInputSchema = z.object({
|
|
521
|
+
notebaseId: z.uuid(),
|
|
522
|
+
rows: z.array(notebaseRowCreateDataSchema).min(1).max(50)
|
|
523
|
+
}).superRefine((input, ctx) => {
|
|
524
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
525
|
+
input.rows.forEach((row, index) => {
|
|
526
|
+
if (row.id === void 0) return;
|
|
527
|
+
if (seenIds.has(row.id)) {
|
|
528
|
+
ctx.addIssue({
|
|
529
|
+
code: "custom",
|
|
530
|
+
message: `Duplicate row id "${row.id}".`,
|
|
531
|
+
path: [
|
|
532
|
+
"rows",
|
|
533
|
+
index,
|
|
534
|
+
"id"
|
|
535
|
+
]
|
|
536
|
+
});
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
seenIds.add(row.id);
|
|
540
|
+
});
|
|
541
|
+
});
|
|
542
|
+
const NotebaseRowCreateManyOutputSchema = z.object({ txid: z.number() });
|
|
479
543
|
const NotebaseRowUpdateInputSchema = z.object({
|
|
480
544
|
notebaseRowId: z.uuid(),
|
|
481
545
|
data: notebaseRowUpdateDataSchema
|
|
@@ -571,6 +635,10 @@ const notebaseSchema = z.object({
|
|
|
571
635
|
createdAt: z.date(),
|
|
572
636
|
updatedAt: z.date()
|
|
573
637
|
});
|
|
638
|
+
const notebaseInitialRowSchema = z.object({
|
|
639
|
+
id: z.uuid().optional(),
|
|
640
|
+
cells: z.record(z.string(), z.unknown())
|
|
641
|
+
}).strict();
|
|
574
642
|
const notebaseCreateDataSchema = z.object({
|
|
575
643
|
id: z.uuid().optional(),
|
|
576
644
|
name: z.string().min(1),
|
|
@@ -580,11 +648,33 @@ const notebaseCreateDataSchema = z.object({
|
|
|
580
648
|
name: z.string().min(1),
|
|
581
649
|
config: notebaseColumnConfigSchema
|
|
582
650
|
}).strict()).min(1),
|
|
583
|
-
initialRow:
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
651
|
+
initialRow: notebaseInitialRowSchema.optional(),
|
|
652
|
+
initialRows: z.array(notebaseInitialRowSchema).min(1).max(50).optional()
|
|
653
|
+
}).strict().superRefine((options, ctx) => {
|
|
654
|
+
if (options.initialRow && options.initialRows) ctx.addIssue({
|
|
655
|
+
code: "custom",
|
|
656
|
+
message: "Provide either initialRow or initialRows, not both.",
|
|
657
|
+
path: ["initialRows"]
|
|
658
|
+
});
|
|
659
|
+
if (!options.initialRows) return;
|
|
660
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
661
|
+
options.initialRows.forEach((row, index) => {
|
|
662
|
+
if (row.id === void 0) return;
|
|
663
|
+
if (seenIds.has(row.id)) {
|
|
664
|
+
ctx.addIssue({
|
|
665
|
+
code: "custom",
|
|
666
|
+
message: `Duplicate row id "${row.id}".`,
|
|
667
|
+
path: [
|
|
668
|
+
"initialRows",
|
|
669
|
+
index,
|
|
670
|
+
"id"
|
|
671
|
+
]
|
|
672
|
+
});
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
675
|
+
seenIds.add(row.id);
|
|
676
|
+
});
|
|
677
|
+
}).optional()
|
|
588
678
|
}).strict();
|
|
589
679
|
const NotebaseCreateInputSchema = notebaseCreateDataSchema;
|
|
590
680
|
const NotebaseCreateOutputSchema = z.object({ txid: z.number() });
|
|
@@ -633,7 +723,7 @@ const notebaseContract = {
|
|
|
633
723
|
summary: "Get notebase schema",
|
|
634
724
|
tags: ["Notebases"]
|
|
635
725
|
}).input(NotebaseGetSchemaInputSchema).output(NotebaseGetSchemaOutputSchema),
|
|
636
|
-
create: notebaseProcedure.errors(pickPublicErrorMap("NOTE_LIMIT_EXCEEDED")).route({
|
|
726
|
+
create: notebaseProcedure.errors(pickPublicErrorMap("NOTE_LIMIT_EXCEEDED", "CELL_VALIDATION_FAILED")).route({
|
|
637
727
|
method: "POST",
|
|
638
728
|
path: "/notebases",
|
|
639
729
|
summary: "Create notebase",
|
|
@@ -689,6 +779,12 @@ const notebaseRowContract = {
|
|
|
689
779
|
summary: "Create notebase row",
|
|
690
780
|
tags: ["Notebase Rows"]
|
|
691
781
|
}).input(NotebaseRowCreateInputSchema).output(NotebaseRowCreateOutputSchema),
|
|
782
|
+
createMany: notebaseProcedure.errors(pickPublicErrorMap("NOTEBASE_NOT_FOUND", "CELL_VALIDATION_FAILED", "CONCURRENT_POSITION_CONFLICT", "NOTE_LIMIT_EXCEEDED")).route({
|
|
783
|
+
method: "POST",
|
|
784
|
+
path: "/notebase-rows/batch",
|
|
785
|
+
summary: "Create notebase rows in a single transaction",
|
|
786
|
+
tags: ["Notebase Rows"]
|
|
787
|
+
}).input(NotebaseRowCreateManyInputSchema).output(NotebaseRowCreateManyOutputSchema),
|
|
692
788
|
update: notebaseProcedure.errors(pickPublicErrorMap("NOTEBASE_ROW_NOT_FOUND", "CELL_VALIDATION_FAILED")).route({
|
|
693
789
|
method: "PATCH",
|
|
694
790
|
path: "/notebase-rows/{notebaseRowId}",
|
|
@@ -953,6 +1049,6 @@ const contract = {
|
|
|
953
1049
|
}
|
|
954
1050
|
};
|
|
955
1051
|
//#endregion
|
|
956
|
-
export { BetaAccessStatusInputSchema, BetaAccessStatusOutputSchema, BetaFeatureKeySchema, CardGenerateInputSchema, CardGenerateOutputSchema, CardGetInputSchema, CardGetOutputSchema, CardListInputSchema, CardListOutputSchema, CardTemplateCreateInputSchema, CardTemplateCreateOutputSchema, CardTemplateDeleteInputSchema, CardTemplateDeleteOutputSchema, CardTemplateGetInputSchema, CardTemplateGetOutputSchema, CardTemplateInvalidColumnsDataSchema, CardTemplateListInputSchema, CardTemplateListOutputSchema, CardTemplateUpdateInputSchema, CardTemplateUpdateOutputSchema, CellValidationFailedDataSchema, CellValidationFailureDetailsSchema, CellValidationFailureReasonSchema, HostedAiOutputFieldSchema, HostedAiOutputFieldTypeSchema, HostedAiStreamPartSchema, HostedAiStreamStructuredObjectInputSchema, HostedAiStreamTextInputSchema, NotebaseColumnCreateInputSchema, NotebaseColumnCreateOutputSchema, NotebaseColumnDeleteInputSchema, NotebaseColumnDeleteOutputSchema, NotebaseColumnReorderInputSchema, NotebaseColumnReorderOutputSchema, NotebaseColumnUpdateInputSchema, NotebaseColumnUpdateOutputSchema, NotebaseCreateInputSchema, NotebaseCreateOutputSchema, NotebaseDeleteInputSchema, NotebaseDeleteOutputSchema, NotebaseGetInputSchema, NotebaseGetOutputSchema, NotebaseGetSchemaInputSchema, NotebaseGetSchemaOutputSchema, NotebaseListInputSchema, NotebaseListItemSchema, NotebaseListOutputSchema, NotebaseRowCreateInputSchema, NotebaseRowCreateOutputSchema, NotebaseRowDeleteInputSchema, NotebaseRowDeleteOutputSchema, NotebaseRowReorderInputSchema, NotebaseRowReorderOutputSchema, NotebaseRowUpdateInputSchema, NotebaseRowUpdateOutputSchema, NotebaseUpdateInputSchema, NotebaseUpdateOutputSchema, PUBLIC_APP_ERROR_DEFS, SRS_REVIEW_CLIENT_ID_NAMESPACE, SRS_REVIEW_DURATION_MS_MAX, billingAccessSourceSchema, billingCheckoutChannelSchema, billingCheckoutPlanSchema, billingCreateCheckoutSessionInputSchema, billingIntervalSchema, billingPlanSchema, billingSessionUrlOutputSchema, billingStatusSchema, billingSubscriptionStatusSchema, cardSchema, cardStateSchema, cardTemplateSchema, contract, createSrsReviewClientId, getPublicErrorDefinition, isPublicAppErrorCode, notebaseColumnCreateDataSchema, notebaseColumnSchema, notebaseColumnUpdateDataSchema, notebaseColumnWidthSchema, notebaseCreateDataSchema, notebaseRowCellsSchema, notebaseRowCreateDataSchema, notebaseRowSchema, notebaseRowUpdateDataSchema, notebaseSchema, notebaseUpdateDataSchema, notebaseViewConfigSchema, notebaseViewCreateDataSchema, notebaseViewFilterSchema, notebaseViewFiltersSchema, notebaseViewSchema, notebaseViewSortSchema, notebaseViewSortsSchema, notebaseViewTypeSchema, notebaseViewUpdateDataSchema, pickPublicErrorMap, renderedCardSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema, srsManualCardStatusInputSchema, srsReviewInputSchema, srsReviewOutputSchema, srsRevlogSchema, srsRevlogWithoutSnapshotSchema, srsRollbackReviewInputSchema, srsRollbackReviewOutputSchema, srsScheduleStatusStatsInputSchema, srsScheduleStatusStatsOutputSchema, srsScheduleStatusStatsSchema, srsSetCardBuriedInputSchema, srsSetCardBuriedOutputSchema, srsSetCardSuspendedInputSchema, srsSetCardSuspendedOutputSchema, srsTxidOutputSchema, stepSchema, timezoneSchema, userEnsureTimezoneInputSchema, userEnsureTimezoneOutputSchema, userUpdateTimezoneInputSchema, userUpdateTimezoneOutputSchema, videoTranscriptCreateInputSchema, videoTranscriptGetInputSchema, videoTranscriptResourceSchema, videoTranscriptStatusSchema, videoTranscriptSubtitlesSchema, videoTranscriptUsageSchema };
|
|
1052
|
+
export { BetaAccessStatusInputSchema, BetaAccessStatusOutputSchema, BetaFeatureKeySchema, CardGenerateInputSchema, CardGenerateOutputSchema, CardGetInputSchema, CardGetOutputSchema, CardListInputSchema, CardListOutputSchema, CardTemplateCreateInputSchema, CardTemplateCreateOutputSchema, CardTemplateDeleteInputSchema, CardTemplateDeleteOutputSchema, CardTemplateGetInputSchema, CardTemplateGetOutputSchema, CardTemplateInvalidColumnsDataSchema, CardTemplateListInputSchema, CardTemplateListOutputSchema, CardTemplateUpdateInputSchema, CardTemplateUpdateOutputSchema, CellValidationFailedDataSchema, CellValidationFailureDetailsSchema, CellValidationFailureReasonSchema, HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES, HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS, HostedAiNoteSuggestionObjectSchema, HostedAiNoteSuggestionStreamInputSchema, HostedAiOutputFieldSchema, HostedAiOutputFieldTypeSchema, HostedAiStreamPartSchema, HostedAiStreamStructuredObjectInputSchema, HostedAiStreamTextInputSchema, NOTEBASE_ROW_CREATE_MANY_MAX_ROWS, NotebaseColumnCreateInputSchema, NotebaseColumnCreateOutputSchema, NotebaseColumnDeleteInputSchema, NotebaseColumnDeleteOutputSchema, NotebaseColumnReorderInputSchema, NotebaseColumnReorderOutputSchema, NotebaseColumnUpdateInputSchema, NotebaseColumnUpdateOutputSchema, NotebaseCreateInputSchema, NotebaseCreateOutputSchema, NotebaseDeleteInputSchema, NotebaseDeleteOutputSchema, NotebaseGetInputSchema, NotebaseGetOutputSchema, NotebaseGetSchemaInputSchema, NotebaseGetSchemaOutputSchema, NotebaseListInputSchema, NotebaseListItemSchema, NotebaseListOutputSchema, NotebaseRowCreateInputSchema, NotebaseRowCreateManyInputSchema, NotebaseRowCreateManyOutputSchema, NotebaseRowCreateOutputSchema, NotebaseRowDeleteInputSchema, NotebaseRowDeleteOutputSchema, NotebaseRowReorderInputSchema, NotebaseRowReorderOutputSchema, NotebaseRowUpdateInputSchema, NotebaseRowUpdateOutputSchema, NotebaseUpdateInputSchema, NotebaseUpdateOutputSchema, PUBLIC_APP_ERROR_DEFS, SRS_REVIEW_CLIENT_ID_NAMESPACE, SRS_REVIEW_DURATION_MS_MAX, billingAccessSourceSchema, billingCheckoutChannelSchema, billingCheckoutPlanSchema, billingCreateCheckoutSessionInputSchema, billingIntervalSchema, billingPlanSchema, billingSessionUrlOutputSchema, billingStatusSchema, billingSubscriptionStatusSchema, cardSchema, cardStateSchema, cardTemplateSchema, contract, createSrsReviewClientId, getPublicErrorDefinition, isPublicAppErrorCode, notebaseColumnCreateDataSchema, notebaseColumnSchema, notebaseColumnUpdateDataSchema, notebaseColumnWidthSchema, notebaseCreateDataSchema, notebaseRowCellsSchema, notebaseRowCreateDataSchema, notebaseRowSchema, notebaseRowUpdateDataSchema, notebaseSchema, notebaseUpdateDataSchema, notebaseViewConfigSchema, notebaseViewCreateDataSchema, notebaseViewFilterSchema, notebaseViewFiltersSchema, notebaseViewSchema, notebaseViewSortSchema, notebaseViewSortsSchema, notebaseViewTypeSchema, notebaseViewUpdateDataSchema, pickPublicErrorMap, renderedCardSchema, reviewRatingSchema, scheduleStatusSchema, schedulingParamsSchema, srsManualCardStatusInputSchema, srsReviewInputSchema, srsReviewOutputSchema, srsRevlogSchema, srsRevlogWithoutSnapshotSchema, srsRollbackReviewInputSchema, srsRollbackReviewOutputSchema, srsScheduleStatusStatsInputSchema, srsScheduleStatusStatsOutputSchema, srsScheduleStatusStatsSchema, srsSetCardBuriedInputSchema, srsSetCardBuriedOutputSchema, srsSetCardSuspendedInputSchema, srsSetCardSuspendedOutputSchema, srsTxidOutputSchema, stepSchema, timezoneSchema, userEnsureTimezoneInputSchema, userEnsureTimezoneOutputSchema, userUpdateTimezoneInputSchema, userUpdateTimezoneOutputSchema, videoTranscriptCreateInputSchema, videoTranscriptGetInputSchema, videoTranscriptResourceSchema, videoTranscriptStatusSchema, videoTranscriptSubtitlesSchema, videoTranscriptUsageSchema };
|
|
957
1053
|
|
|
958
1054
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["cardStateSchema","scheduleStatusSchema"],"sources":["../src/schemas/beta-access.ts","../src/contracts/beta-access.ts","../src/public-errors.ts","../src/schemas/billing.ts","../src/contracts/billing.ts","../src/schemas/card.ts","../src/contracts/shared.ts","../src/contracts/card.ts","../src/contracts/card-template.ts","../src/schemas/hosted-ai.ts","../src/contracts/hosted-ai.ts","../src/schemas/notebase-column.ts","../src/schemas/notebase-row.ts","../src/schemas/notebase-view.ts","../src/schemas/notebase.ts","../src/contracts/notebase.ts","../src/contracts/notebase-column.ts","../src/contracts/notebase-row.ts","../src/schemas/timezone.ts","../src/schemas/srs.ts","../src/contracts/srs.ts","../src/schemas/user.ts","../src/contracts/user.ts","../src/schemas/video-transcript.ts","../src/contracts/video-transcript.ts","../src/index.ts"],"sourcesContent":["import { BETA_FEATURE_KEYS } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport const BetaFeatureKeySchema = z.enum(BETA_FEATURE_KEYS)\nexport type BetaFeatureKey = z.infer<typeof BetaFeatureKeySchema>\n\nexport const BetaAccessStatusInputSchema = z.object({\n featureKey: BetaFeatureKeySchema,\n}).strict()\nexport type BetaAccessStatusInput = z.infer<typeof BetaAccessStatusInputSchema>\n\nexport const BetaAccessStatusOutputSchema = z.object({\n featureKey: BetaFeatureKeySchema,\n allowed: z.boolean(),\n})\nexport type BetaAccessStatusOutput = z.infer<typeof BetaAccessStatusOutputSchema>\n","import { oc } from \"@orpc/contract\"\nimport {\n BetaAccessStatusInputSchema,\n BetaAccessStatusOutputSchema,\n} from \"#/schemas/beta-access\"\n\nexport const betaAccessContract = {\n status: oc\n .route({\n method: \"GET\",\n path: \"/beta-access/status\",\n summary: \"Get beta access status for a feature\",\n tags: [\"Beta Access\"],\n })\n .input(BetaAccessStatusInputSchema)\n .output(BetaAccessStatusOutputSchema),\n}\n","import type { ErrorMap } from \"@orpc/contract\"\nimport { z } from \"zod\"\n\ninterface PublicAppErrorDefinition {\n data?: z.ZodTypeAny\n message: string\n status: number\n}\n\nexport const CellValidationFailureReasonSchema = z.enum([\n \"unknown_notebase_column\",\n \"type_mismatch\",\n \"invalid_select_option\",\n \"invalid_date_format\",\n])\nexport type CellValidationFailureReason = z.infer<typeof CellValidationFailureReasonSchema>\n\nexport const CellValidationFailureDetailsSchema = z.object({\n expectedFormat: z.string().optional(),\n expectedType: z.string().optional(),\n receivedType: z.string().optional(),\n receivedValue: z.unknown().optional(),\n validOptions: z.array(z.string()).optional(),\n}).strict()\nexport type CellValidationFailureDetails = z.infer<typeof CellValidationFailureDetailsSchema>\n\nexport const CellValidationFailedDataSchema = z.object({\n notebaseColumnId: z.string(),\n details: CellValidationFailureDetailsSchema,\n reason: CellValidationFailureReasonSchema,\n}).strict()\nexport type CellValidationFailedData = z.infer<typeof CellValidationFailedDataSchema>\n\nexport const CardTemplateInvalidColumnsDataSchema = z.object({\n notebaseColumnIds: z.array(z.string()),\n}).strict()\nexport type CardTemplateInvalidColumnsData = z.infer<typeof CardTemplateInvalidColumnsDataSchema>\n\nexport const PUBLIC_APP_ERROR_DEFS = {\n NOTEBASE_BETA_RESTRICTED: {\n message: \"Notebase is currently in beta for selected accounts\",\n status: 403,\n },\n NOTEBASE_NOT_FOUND: {\n message: \"Notebase not found\",\n status: 404,\n },\n VIDEO_TRANSCRIPTION_BETA_RESTRICTED: {\n message: \"Video transcription is currently in beta for selected accounts\",\n status: 403,\n },\n VIDEO_TRANSCRIPT_NOT_FOUND: {\n message: \"Video transcript not found\",\n status: 404,\n },\n VIDEO_TRANSCRIPT_NOT_READY: {\n message: \"Video transcript is not ready yet\",\n status: 409,\n },\n VIDEO_TRANSCRIPTION_QUOTA_EXCEEDED: {\n message: \"Monthly transcription quota exceeded\",\n status: 429,\n },\n NOTEBASE_COLUMN_NOT_FOUND: {\n message: \"Notebase column not found\",\n status: 404,\n },\n NOTEBASE_ROW_NOT_FOUND: {\n message: \"Notebase row not found\",\n status: 404,\n },\n CARD_NOT_FOUND: {\n message: \"Card not found\",\n status: 404,\n },\n CARD_TEMPLATE_NOT_FOUND: {\n message: \"Card template not found\",\n status: 404,\n },\n CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS: {\n data: CardTemplateInvalidColumnsDataSchema,\n message: \"Card template references unknown notebase columns\",\n status: 422,\n },\n CARD_TEMPLATE_NOTEBASE_COLUMN_IN_USE: {\n message: \"Notebase column is used by a card template\",\n status: 409,\n },\n NOTE_LIMIT_EXCEEDED: {\n message: \"Upgrade is required to create more Notebase notes\",\n status: 403,\n },\n BILLING_NOT_CONFIGURED: {\n message: \"Billing is not configured\",\n status: 503,\n },\n BILLING_CUSTOMER_NOT_FOUND: {\n message: \"Billing customer not found\",\n status: 404,\n },\n BILLING_PASS_ACTIVE: {\n message: \"An active Pro pass already covers this account\",\n status: 409,\n },\n CARD_NOT_REVIEWABLE: {\n message: \"Card cannot be reviewed in its current state\",\n status: 409,\n },\n CARD_REVIEW_STATE_STALE: {\n message: \"Card review state is stale\",\n status: 409,\n },\n CARD_REVIEW_ROLLBACK_UNAVAILABLE: {\n message: \"Card review cannot be rolled back\",\n status: 409,\n },\n CARD_ALREADY_BURIED: {\n message: \"Card is already buried\",\n status: 409,\n },\n CARD_NOT_BURIED: {\n message: \"Card is not buried\",\n status: 409,\n },\n CARD_ALREADY_SUSPENDED: {\n message: \"Card is already suspended\",\n status: 409,\n },\n CARD_NOT_SUSPENDED: {\n message: \"Card is not suspended\",\n status: 409,\n },\n CARD_STATUS_CHANGE_UNAVAILABLE: {\n message: \"Card status change is unavailable\",\n status: 409,\n },\n NOTEBASE_VIEW_NOT_FOUND: {\n message: \"Notebase view not found\",\n status: 404,\n },\n CELL_VALIDATION_FAILED: {\n data: CellValidationFailedDataSchema,\n message: \"Cell validation failed\",\n status: 422,\n },\n PRIMARY_NOTEBASE_COLUMN_DELETE_NOT_ALLOWED: {\n message: \"Cannot delete primary notebase column\",\n status: 400,\n },\n CONCURRENT_POSITION_CONFLICT: {\n message: \"Concurrent position conflict, please retry\",\n status: 409,\n },\n} as const satisfies Record<string, PublicAppErrorDefinition>\n\nexport type PublicAppErrorCode = keyof typeof PUBLIC_APP_ERROR_DEFS\n\nexport type PublicAppErrorData<TCode extends PublicAppErrorCode>\n = (typeof PUBLIC_APP_ERROR_DEFS)[TCode] extends { data: infer TSchema extends z.ZodTypeAny }\n ? z.output<TSchema>\n : undefined\n\nexport function isPublicAppErrorCode(code: string | undefined): code is PublicAppErrorCode {\n return code !== undefined && code in PUBLIC_APP_ERROR_DEFS\n}\n\nexport function getPublicErrorDefinition<TCode extends PublicAppErrorCode>(code: TCode) {\n return PUBLIC_APP_ERROR_DEFS[code]\n}\n\nexport function pickPublicErrorMap<const TCodes extends readonly PublicAppErrorCode[]>(\n ...codes: TCodes\n) {\n return Object.fromEntries(codes.map((code) => {\n const definition = PUBLIC_APP_ERROR_DEFS[code]\n\n if (\"data\" in definition) {\n return [code, {\n data: definition.data,\n message: definition.message,\n status: definition.status,\n }]\n }\n\n return [code, {\n message: definition.message,\n status: definition.status,\n }]\n })) as Pick<ErrorMap, TCodes[number]>\n}\n","import { z } from \"zod\"\n\nexport const billingIntervalSchema = z.enum([\"month\", \"year\"])\nexport type BillingInterval = z.infer<typeof billingIntervalSchema>\n\nexport const billingSubscriptionStatusSchema = z.enum([\n \"incomplete\",\n \"incomplete_expired\",\n \"trialing\",\n \"active\",\n \"past_due\",\n \"canceled\",\n \"unpaid\",\n \"paused\",\n])\nexport type BillingSubscriptionStatus = z.infer<typeof billingSubscriptionStatusSchema>\n\nexport const billingPlanSchema = z.enum([\"free\", \"pro\", \"ultra\"])\nexport type BillingPlan = z.infer<typeof billingPlanSchema>\n\n// Plans a user can actively check out into (the free tier has no price).\nexport const billingCheckoutPlanSchema = z.enum([\"pro\", \"ultra\"])\nexport type BillingCheckoutPlan = z.infer<typeof billingCheckoutPlanSchema>\n\nexport const billingCheckoutChannelSchema = z.enum([\"global\", \"cn\"])\nexport type BillingCheckoutChannel = z.infer<typeof billingCheckoutChannelSchema>\n\nexport const billingAccessSourceSchema = z.enum([\"subscription\", \"pass\"])\nexport type BillingAccessSource = z.infer<typeof billingAccessSourceSchema>\n\nexport const billingStatusSchema = z.object({\n plan: billingPlanSchema,\n status: billingSubscriptionStatusSchema.nullable(),\n interval: billingIntervalSchema.nullable(),\n currentPeriodEnd: z.coerce.date().nullable(),\n cancelAtPeriodEnd: z.boolean(),\n accessSource: billingAccessSourceSchema.nullable(),\n unlimitedNotebaseNotes: z.boolean(),\n notebaseNoteLimit: z.number().int().positive(),\n notebaseNoteCount: z.number().int().min(0),\n}).strict()\nexport type BillingStatus = z.infer<typeof billingStatusSchema>\n\nexport const billingCreateCheckoutSessionInputSchema = z.object({\n interval: billingIntervalSchema,\n channel: billingCheckoutChannelSchema.default(\"global\"),\n plan: billingCheckoutPlanSchema.default(\"pro\"),\n}).strict()\nexport type BillingCreateCheckoutSessionInput = z.infer<typeof billingCreateCheckoutSessionInputSchema>\n\nexport const billingSessionUrlOutputSchema = z.object({\n url: z.url(),\n}).strict()\nexport type BillingSessionUrlOutput = z.infer<typeof billingSessionUrlOutputSchema>\n","import { oc } from \"@orpc/contract\"\nimport { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n billingCreateCheckoutSessionInputSchema,\n billingSessionUrlOutputSchema,\n billingStatusSchema,\n} from \"#/schemas/billing\"\n\nconst billingProcedure = oc.errors(\n pickPublicErrorMap(\"BILLING_NOT_CONFIGURED\", \"BILLING_CUSTOMER_NOT_FOUND\", \"BILLING_PASS_ACTIVE\"),\n)\n\nexport const billingContract = {\n status: billingProcedure\n .route({\n method: \"GET\",\n path: \"/billing/status\",\n summary: \"Get authenticated user's billing status\",\n tags: [\"Billing\"],\n })\n .output(billingStatusSchema),\n createCheckoutSession: billingProcedure\n .route({\n method: \"POST\",\n path: \"/billing/checkout-sessions\",\n summary: \"Create a Stripe Checkout Session for a subscription or one-time Pro pass\",\n tags: [\"Billing\"],\n })\n .input(billingCreateCheckoutSessionInputSchema)\n .output(billingSessionUrlOutputSchema),\n createCustomerPortalSession: billingProcedure\n .route({\n method: \"POST\",\n path: \"/billing/customer-portal-sessions\",\n summary: \"Create a Stripe Customer Portal Session\",\n tags: [\"Billing\"],\n })\n .output(billingSessionUrlOutputSchema),\n}\n","import {\n cardIdentityShape,\n cardMemoryStateShape,\n cardStateSchema,\n cardTemplateConfigSchema,\n scheduleStatusSchema,\n} from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport {\n cardStateSchema,\n scheduleStatusSchema,\n}\nexport type { CardState, ScheduleStatus } from \"@read-frog/definitions\"\n\nexport const cardTemplateSchema = z.object({\n id: z.uuid(),\n notebaseId: z.uuid(),\n name: z.string(),\n config: cardTemplateConfigSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type CardTemplate = z.infer<typeof cardTemplateSchema>\n\nexport const CardTemplateListInputSchema = z.object({\n notebaseId: z.uuid(),\n})\nexport type CardTemplateListInput = z.infer<typeof CardTemplateListInputSchema>\n\nexport const CardTemplateListOutputSchema = z.array(cardTemplateSchema)\nexport type CardTemplateListOutput = z.infer<typeof CardTemplateListOutputSchema>\n\nexport const CardTemplateGetInputSchema = z.object({\n id: z.uuid(),\n})\nexport type CardTemplateGetInput = z.infer<typeof CardTemplateGetInputSchema>\n\nexport const CardTemplateGetOutputSchema = cardTemplateSchema\nexport type CardTemplateGetOutput = z.infer<typeof CardTemplateGetOutputSchema>\n\nexport const CardTemplateCreateInputSchema = z.object({\n id: z.uuid().optional(),\n notebaseId: z.uuid(),\n name: z.string().min(1),\n config: cardTemplateConfigSchema,\n}).strict()\nexport type CardTemplateCreateInput = z.infer<typeof CardTemplateCreateInputSchema>\n\nexport const CardTemplateCreateOutputSchema = cardTemplateSchema.extend({\n txid: z.number(),\n})\nexport type CardTemplateCreateOutput = z.infer<typeof CardTemplateCreateOutputSchema>\n\nexport const CardTemplateUpdateInputSchema = z.object({\n id: z.uuid(),\n name: z.string().min(1).optional(),\n config: cardTemplateConfigSchema.optional(),\n}).strict()\nexport type CardTemplateUpdateInput = z.infer<typeof CardTemplateUpdateInputSchema>\n\nexport const CardTemplateUpdateOutputSchema = cardTemplateSchema.extend({\n txid: z.number(),\n})\nexport type CardTemplateUpdateOutput = z.infer<typeof CardTemplateUpdateOutputSchema>\n\nexport const CardTemplateDeleteInputSchema = z.object({\n id: z.uuid(),\n})\nexport type CardTemplateDeleteInput = z.infer<typeof CardTemplateDeleteInputSchema>\n\nexport const CardTemplateDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type CardTemplateDeleteOutput = z.infer<typeof CardTemplateDeleteOutputSchema>\n\nexport const cardSchema = z.object({\n ...cardIdentityShape,\n ...cardMemoryStateShape,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type Card = z.infer<typeof cardSchema>\n\nexport const renderedCardSchema = cardSchema.extend({\n front: z.string(),\n back: z.string(),\n})\nexport type RenderedCard = z.infer<typeof renderedCardSchema>\n\nexport const CardListInputSchema = z.object({\n notebaseId: z.uuid(),\n templateId: z.uuid().optional(),\n limit: z.number().int().min(1).max(500).optional(),\n offset: z.number().int().min(0).optional(),\n})\nexport type CardListInput = z.infer<typeof CardListInputSchema>\n\nexport const CardListOutputSchema = z.array(renderedCardSchema)\nexport type CardListOutput = z.infer<typeof CardListOutputSchema>\n\nexport const CardGetInputSchema = z.object({\n id: z.uuid(),\n})\nexport type CardGetInput = z.infer<typeof CardGetInputSchema>\n\nexport const CardGetOutputSchema = renderedCardSchema\nexport type CardGetOutput = z.infer<typeof CardGetOutputSchema>\n\nexport const CardGenerateInputSchema = z.object({\n notebaseId: z.uuid(),\n templateId: z.uuid().optional(),\n})\nexport type CardGenerateInput = z.infer<typeof CardGenerateInputSchema>\n\nexport const CardGenerateOutputSchema = z.object({\n created: z.number().int().min(0),\n txid: z.number(),\n})\nexport type CardGenerateOutput = z.infer<typeof CardGenerateOutputSchema>\n","import { oc } from \"@orpc/contract\"\n\nexport const notebaseProcedure = oc\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n CardGenerateInputSchema,\n CardGenerateOutputSchema,\n CardGetInputSchema,\n CardGetOutputSchema,\n CardListInputSchema,\n CardListOutputSchema,\n} from \"#/schemas/card\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const cardContract = {\n list: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/cards\",\n summary: \"List rendered cards\",\n tags: [\"Cards\"],\n })\n .input(CardListInputSchema)\n .output(CardListOutputSchema),\n\n get: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/cards/{id}\",\n summary: \"Get rendered card\",\n tags: [\"Cards\"],\n })\n .input(CardGetInputSchema)\n .output(CardGetOutputSchema),\n\n generate: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CARD_TEMPLATE_NOT_FOUND\"))\n .route({\n method: \"POST\",\n path: \"/cards/generate\",\n summary: \"Generate missing cards\",\n tags: [\"Cards\"],\n })\n .input(CardGenerateInputSchema)\n .output(CardGenerateOutputSchema),\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n CardTemplateCreateInputSchema,\n CardTemplateCreateOutputSchema,\n CardTemplateDeleteInputSchema,\n CardTemplateDeleteOutputSchema,\n CardTemplateGetInputSchema,\n CardTemplateGetOutputSchema,\n CardTemplateListInputSchema,\n CardTemplateListOutputSchema,\n CardTemplateUpdateInputSchema,\n CardTemplateUpdateOutputSchema,\n} from \"#/schemas/card\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const cardTemplateContract = {\n list: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/card-templates\",\n summary: \"List card templates\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateListInputSchema)\n .output(CardTemplateListOutputSchema),\n\n get: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_TEMPLATE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/card-templates/{id}\",\n summary: \"Get card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateGetInputSchema)\n .output(CardTemplateGetOutputSchema),\n\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS\"))\n .route({\n method: \"POST\",\n path: \"/card-templates\",\n summary: \"Create card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateCreateInputSchema)\n .output(CardTemplateCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_TEMPLATE_NOT_FOUND\", \"CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS\"))\n .route({\n method: \"PATCH\",\n path: \"/card-templates/{id}\",\n summary: \"Update card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateUpdateInputSchema)\n .output(CardTemplateUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_TEMPLATE_NOT_FOUND\"))\n .route({\n method: \"DELETE\",\n path: \"/card-templates/{id}\",\n summary: \"Delete card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateDeleteInputSchema)\n .output(CardTemplateDeleteOutputSchema),\n}\n","import type { RefinementCtx } from \"zod\"\nimport { z } from \"zod\"\n\nconst HOSTED_AI_SYSTEM_FALLBACK_REMOVAL_DATE = \"2026-07-11\"\n\nexport const HostedAiOutputFieldTypeSchema = z.enum([\"string\", \"number\"])\n\nexport const HostedAiOutputFieldSchema = z.strictObject({\n name: z.string().trim().min(1).max(80),\n type: HostedAiOutputFieldTypeSchema,\n})\n\nconst HostedAiInstructionsSchema = z.string().trim().min(1).max(16000)\n\ninterface HostedAiInstructionsCompatibilityInput {\n instructions?: string\n system?: string\n}\n\nfunction validateHostedAiInstructionsCompatibility(\n input: HostedAiInstructionsCompatibilityInput,\n ctx: RefinementCtx<HostedAiInstructionsCompatibilityInput>,\n): void {\n if (input.instructions !== undefined || input.system !== undefined) {\n return\n }\n\n ctx.addIssue({\n code: \"custom\",\n message: `instructions is required. The deprecated system field is accepted as a temporary fallback until ${HOSTED_AI_SYSTEM_FALLBACK_REMOVAL_DATE}.`,\n path: [\"instructions\"],\n })\n}\n\nexport const HostedAiStreamTextInputSchema = z.strictObject({\n instructions: HostedAiInstructionsSchema.optional(),\n system: HostedAiInstructionsSchema.optional(),\n prompt: z.string().trim().min(1).max(32000),\n temperature: z.number().min(0).max(2).optional(),\n}).superRefine(validateHostedAiInstructionsCompatibility)\n\nexport const HostedAiStreamStructuredObjectInputSchema = z.strictObject({\n instructions: HostedAiInstructionsSchema.optional(),\n system: HostedAiInstructionsSchema.optional(),\n prompt: z.string().trim().min(1).max(32000),\n outputSchema: z.array(HostedAiOutputFieldSchema).min(1).max(32),\n temperature: z.number().min(0).max(2).optional(),\n}).superRefine((input, ctx) => {\n validateHostedAiInstructionsCompatibility(input, ctx)\n\n const fieldNames = new Set<string>()\n\n input.outputSchema.forEach((field, index) => {\n if (fieldNames.has(field.name)) {\n ctx.addIssue({\n code: \"custom\",\n message: `Duplicate output schema name \"${field.name}\".`,\n path: [\"outputSchema\", index, \"name\"],\n })\n return\n }\n\n fieldNames.add(field.name)\n })\n})\n\nexport const HostedAiStreamPartSchema = z.looseObject({\n type: z.string().trim().min(1),\n})\n\nexport type HostedAiOutputFieldType = z.infer<typeof HostedAiOutputFieldTypeSchema>\nexport type HostedAiOutputField = z.infer<typeof HostedAiOutputFieldSchema>\nexport type HostedAiStreamTextInput = z.infer<typeof HostedAiStreamTextInputSchema>\nexport type HostedAiStreamStructuredObjectInput = z.infer<typeof HostedAiStreamStructuredObjectInputSchema>\nexport type HostedAiStreamPart = z.infer<typeof HostedAiStreamPartSchema>\n","import { eventIterator, oc } from \"@orpc/contract\"\nimport {\n HostedAiStreamPartSchema,\n HostedAiStreamStructuredObjectInputSchema,\n HostedAiStreamTextInputSchema,\n} from \"#/schemas/hosted-ai\"\n\nexport const hostedAiContract = {\n translate: {\n streamText: oc\n .route({\n method: \"POST\",\n path: \"/hosted-ai/translate/stream-text\",\n summary: \"Stream hosted translation text output\",\n tags: [\"Hosted AI\"],\n })\n .input(HostedAiStreamTextInputSchema)\n .output(eventIterator(HostedAiStreamPartSchema)),\n },\n customAction: {\n streamStructuredObject: oc\n .route({\n method: \"POST\",\n path: \"/hosted-ai/custom-actions/stream-structured-object\",\n summary: \"Stream hosted custom action structured output\",\n tags: [\"Hosted AI\"],\n })\n .input(HostedAiStreamStructuredObjectInputSchema)\n .output(eventIterator(HostedAiStreamPartSchema)),\n },\n}\n","import { NOTEBASE_COLUMN_MAX_WIDTH, NOTEBASE_COLUMN_MIN_WIDTH, notebaseColumnConfigSchema } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport const notebaseColumnWidthSchema = z.number().int().min(NOTEBASE_COLUMN_MIN_WIDTH).max(NOTEBASE_COLUMN_MAX_WIDTH)\n\nexport const notebaseColumnSchema = z.object({\n id: z.string(),\n notebaseId: z.string(),\n name: z.string(),\n config: notebaseColumnConfigSchema,\n position: z.number(),\n isPrimary: z.boolean(),\n width: z.number().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type NotebaseColumn = z.infer<typeof notebaseColumnSchema>\n\nexport const notebaseColumnCreateDataSchema = z.object({\n id: z.uuid().optional(),\n name: z.string().min(1),\n config: notebaseColumnConfigSchema,\n}).strict()\nexport type NotebaseColumnCreateData = z.infer<typeof notebaseColumnCreateDataSchema>\n\nexport const notebaseColumnUpdateDataSchema = z.object({\n name: z.string().min(1).optional(),\n config: notebaseColumnConfigSchema.optional(),\n width: notebaseColumnWidthSchema.nullable().optional(),\n}).strict()\nexport type NotebaseColumnUpdateData = z.infer<typeof notebaseColumnUpdateDataSchema>\n\nexport const NotebaseColumnCreateInputSchema = z.object({\n notebaseId: z.uuid(),\n data: notebaseColumnCreateDataSchema,\n})\nexport type NotebaseColumnCreateInput = z.infer<typeof NotebaseColumnCreateInputSchema>\n\nexport const NotebaseColumnCreateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnCreateOutput = z.infer<typeof NotebaseColumnCreateOutputSchema>\n\nexport const NotebaseColumnUpdateInputSchema = z.object({\n notebaseColumnId: z.uuid(),\n data: notebaseColumnUpdateDataSchema,\n})\nexport type NotebaseColumnUpdateInput = z.infer<typeof NotebaseColumnUpdateInputSchema>\n\nexport const NotebaseColumnUpdateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnUpdateOutput = z.infer<typeof NotebaseColumnUpdateOutputSchema>\n\nexport const NotebaseColumnDeleteInputSchema = z.object({\n notebaseColumnId: z.uuid(),\n})\nexport type NotebaseColumnDeleteInput = z.infer<typeof NotebaseColumnDeleteInputSchema>\n\nexport const NotebaseColumnDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnDeleteOutput = z.infer<typeof NotebaseColumnDeleteOutputSchema>\n\nexport const NotebaseColumnReorderInputSchema = z.object({\n notebaseId: z.uuid(),\n ids: z.array(z.uuid()),\n})\nexport type NotebaseColumnReorderInput = z.infer<typeof NotebaseColumnReorderInputSchema>\n\nexport const NotebaseColumnReorderOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnReorderOutput = z.infer<typeof NotebaseColumnReorderOutputSchema>\n","import { z } from \"zod\"\n\nexport const notebaseRowCellsSchema = z.record(z.string(), z.unknown())\n\nexport const notebaseRowSchema = z.object({\n id: z.string(),\n notebaseId: z.string(),\n cells: notebaseRowCellsSchema,\n position: z.number(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type NotebaseRow = z.infer<typeof notebaseRowSchema>\n\nexport const notebaseRowCreateDataSchema = z.object({\n id: z.uuid().optional(),\n cells: notebaseRowCellsSchema.optional(),\n}).strict()\nexport type NotebaseRowCreateData = z.infer<typeof notebaseRowCreateDataSchema>\n\nexport const notebaseRowUpdateDataSchema = z.object({\n cells: notebaseRowCellsSchema.optional(),\n}).strict()\nexport type NotebaseRowUpdateData = z.infer<typeof notebaseRowUpdateDataSchema>\n\nexport const NotebaseRowCreateInputSchema = z.object({\n notebaseId: z.uuid(),\n data: notebaseRowCreateDataSchema,\n})\nexport type NotebaseRowCreateInput = z.infer<typeof NotebaseRowCreateInputSchema>\n\nexport const NotebaseRowCreateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowCreateOutput = z.infer<typeof NotebaseRowCreateOutputSchema>\n\nexport const NotebaseRowUpdateInputSchema = z.object({\n notebaseRowId: z.uuid(),\n data: notebaseRowUpdateDataSchema,\n})\nexport type NotebaseRowUpdateInput = z.infer<typeof NotebaseRowUpdateInputSchema>\n\nexport const NotebaseRowUpdateOutputSchema = z.object({\n id: z.uuid(),\n notebaseId: z.uuid(),\n cells: notebaseRowCellsSchema,\n position: z.number().int(),\n createdAt: z.date(),\n updatedAt: z.date(),\n txid: z.number(),\n})\nexport type NotebaseRowUpdateOutput = z.infer<typeof NotebaseRowUpdateOutputSchema>\n\nexport const NotebaseRowDeleteInputSchema = z.object({\n notebaseRowId: z.uuid(),\n})\nexport type NotebaseRowDeleteInput = z.infer<typeof NotebaseRowDeleteInputSchema>\n\nexport const NotebaseRowDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowDeleteOutput = z.infer<typeof NotebaseRowDeleteOutputSchema>\n\nexport const NotebaseRowReorderInputSchema = z.object({\n notebaseId: z.uuid(),\n ids: z.array(z.uuid()),\n})\nexport type NotebaseRowReorderInput = z.infer<typeof NotebaseRowReorderInputSchema>\n\nexport const NotebaseRowReorderOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowReorderOutput = z.infer<typeof NotebaseRowReorderOutputSchema>\n","import { z } from \"zod\"\n\nexport const notebaseViewTypeSchema = z.enum([\"table\", \"kanban\", \"gallery\"])\nexport type NotebaseViewType = z.infer<typeof notebaseViewTypeSchema>\n\nexport const notebaseViewConfigSchema = z.object({\n notebaseColumnWidths: z.record(z.string(), z.number()).optional(),\n hiddenNotebaseColumns: z.array(z.string()).optional(),\n groupByNotebaseColumnId: z.string().optional(),\n}).catchall(z.unknown())\nexport type NotebaseViewConfig = z.infer<typeof notebaseViewConfigSchema>\n\nexport const notebaseViewFilterSchema = z.object({\n notebaseColumnId: z.string(),\n operator: z.string(),\n value: z.unknown(),\n}).strict()\nexport type NotebaseViewFilter = z.infer<typeof notebaseViewFilterSchema>\n\nexport const notebaseViewFiltersSchema = z.array(notebaseViewFilterSchema)\n\nexport const notebaseViewSortSchema = z.object({\n notebaseColumnId: z.string(),\n direction: z.enum([\"asc\", \"desc\"]),\n}).strict()\nexport type NotebaseViewSort = z.infer<typeof notebaseViewSortSchema>\n\nexport const notebaseViewSortsSchema = z.array(notebaseViewSortSchema)\n\nexport const notebaseViewCreateDataSchema = z.object({\n id: z.uuid().optional(),\n name: z.string().min(1),\n type: notebaseViewTypeSchema,\n config: notebaseViewConfigSchema.optional(),\n filters: notebaseViewFiltersSchema.optional(),\n sorts: notebaseViewSortsSchema.optional(),\n}).strict()\nexport type NotebaseViewCreateData = z.infer<typeof notebaseViewCreateDataSchema>\n\nexport const notebaseViewUpdateDataSchema = z.object({\n name: z.string().min(1).optional(),\n type: notebaseViewTypeSchema.optional(),\n config: notebaseViewConfigSchema.optional(),\n filters: notebaseViewFiltersSchema.optional(),\n sorts: notebaseViewSortsSchema.optional(),\n}).strict()\nexport type NotebaseViewUpdateData = z.infer<typeof notebaseViewUpdateDataSchema>\n\nexport const notebaseViewSchema = z.object({\n id: z.string(),\n notebaseId: z.string(),\n name: z.string(),\n type: notebaseViewTypeSchema,\n config: notebaseViewConfigSchema.nullable(),\n filters: z.array(z.unknown()).nullable(),\n sorts: z.array(z.unknown()).nullable(),\n position: z.number(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type NotebaseView = z.infer<typeof notebaseViewSchema>\n","import { notebaseColumnConfigSchema, schedulingParamsShape, srsWeightsSchema } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\nimport { notebaseColumnSchema } from \"./notebase-column\"\nimport { notebaseRowSchema } from \"./notebase-row\"\nimport { notebaseViewSchema } from \"./notebase-view\"\n\nexport const NotebaseListInputSchema = z.object({})\nexport type NotebaseListInput = z.infer<typeof NotebaseListInputSchema>\n\nexport const NotebaseListItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n})\nexport type NotebaseListItem = z.infer<typeof NotebaseListItemSchema>\n\nexport const NotebaseListOutputSchema = z.array(NotebaseListItemSchema)\nexport type NotebaseListOutput = z.infer<typeof NotebaseListOutputSchema>\n\nexport const notebaseSchema = z.object({\n id: z.string(),\n userId: z.string(),\n name: z.string(),\n srsNewPerDay: schedulingParamsShape.newPerDay,\n srsReviewsPerDay: schedulingParamsShape.reviewsPerDay,\n srsDesiredRetention: schedulingParamsShape.desiredRetention,\n srsEnableShortTerm: schedulingParamsShape.enableShortTerm,\n srsMaximumInterval: schedulingParamsShape.maximumInterval,\n srsLearningSteps: schedulingParamsShape.learningSteps,\n srsRelearningSteps: schedulingParamsShape.relearningSteps,\n srsLeechThreshold: schedulingParamsShape.leechThreshold,\n srsEnableFuzz: schedulingParamsShape.enableFuzz,\n srsWeights: srsWeightsSchema.nullable(),\n createdAt: z.date(),\n updatedAt: z.date(),\n})\nexport type Notebase = z.infer<typeof notebaseSchema>\n\nexport const notebaseCreateDataSchema = z.object({\n id: z.uuid().optional(),\n name: z.string().min(1),\n options: z.object({\n initialColumns: z.array(z.object({\n id: z.uuid(),\n name: z.string().min(1),\n config: notebaseColumnConfigSchema,\n }).strict()).min(1),\n initialRow: z.object({\n id: z.uuid().optional(),\n cells: z.record(z.string(), z.unknown()),\n }).strict().optional(),\n }).strict().optional(),\n}).strict()\nexport type NotebaseCreateData = z.infer<typeof notebaseCreateDataSchema>\n\nexport const NotebaseCreateInputSchema = notebaseCreateDataSchema\nexport type NotebaseCreateInput = z.infer<typeof NotebaseCreateInputSchema>\n\nexport const NotebaseCreateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseCreateOutput = z.infer<typeof NotebaseCreateOutputSchema>\n\nexport const notebaseUpdateDataSchema = z.object({\n name: z.string().min(1).optional(),\n srsNewPerDay: schedulingParamsShape.newPerDay.optional(),\n srsReviewsPerDay: schedulingParamsShape.reviewsPerDay.optional(),\n}).strict()\nexport type NotebaseUpdateData = z.infer<typeof notebaseUpdateDataSchema>\n\nexport const NotebaseUpdateInputSchema = notebaseUpdateDataSchema.extend({\n id: z.uuid(),\n})\nexport type NotebaseUpdateInput = z.infer<typeof NotebaseUpdateInputSchema>\n\nexport const NotebaseUpdateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseUpdateOutput = z.infer<typeof NotebaseUpdateOutputSchema>\n\nexport const NotebaseDeleteInputSchema = z.object({\n id: z.uuid(),\n})\nexport type NotebaseDeleteInput = z.infer<typeof NotebaseDeleteInputSchema>\n\nexport const NotebaseDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseDeleteOutput = z.infer<typeof NotebaseDeleteOutputSchema>\n\n// Get endpoint schemas\nexport const NotebaseGetInputSchema = z.object({\n id: z.uuid(),\n})\nexport type NotebaseGetInput = z.infer<typeof NotebaseGetInputSchema>\n\nexport const NotebaseGetSchemaInputSchema = z.object({\n id: z.uuid(),\n})\nexport type NotebaseGetSchemaInput = z.infer<typeof NotebaseGetSchemaInputSchema>\n\nexport const NotebaseGetOutputSchema = notebaseSchema.extend({\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n notebaseColumns: z.array(notebaseColumnSchema),\n notebaseRows: z.array(notebaseRowSchema),\n notebaseViews: z.array(notebaseViewSchema),\n})\nexport type NotebaseGetOutput = z.infer<typeof NotebaseGetOutputSchema>\n\nexport const NotebaseGetSchemaOutputSchema = z.object({\n id: z.string(),\n name: z.string(),\n updatedAt: z.coerce.date(),\n notebaseColumns: z.array(notebaseColumnSchema),\n})\nexport type NotebaseGetSchemaOutput = z.infer<typeof NotebaseGetSchemaOutputSchema>\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n NotebaseCreateInputSchema,\n NotebaseCreateOutputSchema,\n NotebaseDeleteInputSchema,\n NotebaseDeleteOutputSchema,\n NotebaseGetInputSchema,\n NotebaseGetOutputSchema,\n NotebaseGetSchemaInputSchema,\n NotebaseGetSchemaOutputSchema,\n NotebaseListInputSchema,\n NotebaseListOutputSchema,\n NotebaseUpdateInputSchema,\n NotebaseUpdateOutputSchema,\n} from \"#/schemas/notebase\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const notebaseContract = {\n list: notebaseProcedure\n .route({\n method: \"GET\",\n path: \"/notebases\",\n summary: \"List notebases\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseListInputSchema)\n .output(NotebaseListOutputSchema),\n\n get: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/notebases/{id}\",\n summary: \"Get notebase with notebase columns, rows, and views\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseGetInputSchema)\n .output(NotebaseGetOutputSchema),\n\n getSchema: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/notebases/{id}/schema\",\n summary: \"Get notebase schema\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseGetSchemaInputSchema)\n .output(NotebaseGetSchemaOutputSchema),\n\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTE_LIMIT_EXCEEDED\"))\n .route({\n method: \"POST\",\n path: \"/notebases\",\n summary: \"Create notebase\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseCreateInputSchema)\n .output(NotebaseCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"PUT\",\n path: \"/notebases/{id}\",\n summary: \"Update notebase\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseUpdateInputSchema)\n .output(NotebaseUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"DELETE\",\n path: \"/notebases/{id}\",\n summary: \"Delete notebase\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseDeleteInputSchema)\n .output(NotebaseDeleteOutputSchema),\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n NotebaseColumnCreateInputSchema,\n NotebaseColumnCreateOutputSchema,\n NotebaseColumnDeleteInputSchema,\n NotebaseColumnDeleteOutputSchema,\n NotebaseColumnReorderInputSchema,\n NotebaseColumnReorderOutputSchema,\n NotebaseColumnUpdateInputSchema,\n NotebaseColumnUpdateOutputSchema,\n} from \"#/schemas/notebase-column\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const notebaseColumnContract = {\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"POST\",\n path: \"/notebase-columns\",\n summary: \"Create notebase column\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnCreateInputSchema)\n .output(NotebaseColumnCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_COLUMN_NOT_FOUND\"))\n .route({\n method: \"PATCH\",\n path: \"/notebase-columns/{notebaseColumnId}\",\n summary: \"Update notebase column\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnUpdateInputSchema)\n .output(NotebaseColumnUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"NOTEBASE_COLUMN_NOT_FOUND\",\n \"PRIMARY_NOTEBASE_COLUMN_DELETE_NOT_ALLOWED\",\n \"CARD_TEMPLATE_NOTEBASE_COLUMN_IN_USE\",\n \"CONCURRENT_POSITION_CONFLICT\",\n ))\n .route({\n method: \"DELETE\",\n path: \"/notebase-columns/{notebaseColumnId}\",\n summary: \"Delete notebase column\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnDeleteInputSchema)\n .output(NotebaseColumnDeleteOutputSchema),\n\n reorder: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"POST\",\n path: \"/notebase-columns/reorder\",\n summary: \"Reorder notebase columns\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnReorderInputSchema)\n .output(NotebaseColumnReorderOutputSchema),\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n NotebaseRowCreateInputSchema,\n NotebaseRowCreateOutputSchema,\n NotebaseRowDeleteInputSchema,\n NotebaseRowDeleteOutputSchema,\n NotebaseRowReorderInputSchema,\n NotebaseRowReorderOutputSchema,\n NotebaseRowUpdateInputSchema,\n NotebaseRowUpdateOutputSchema,\n} from \"#/schemas/notebase-row\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const notebaseRowContract = {\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"NOTEBASE_NOT_FOUND\",\n \"CELL_VALIDATION_FAILED\",\n \"CONCURRENT_POSITION_CONFLICT\",\n \"NOTE_LIMIT_EXCEEDED\",\n ))\n .route({\n method: \"POST\",\n path: \"/notebase-rows\",\n summary: \"Create notebase row\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowCreateInputSchema)\n .output(NotebaseRowCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_ROW_NOT_FOUND\", \"CELL_VALIDATION_FAILED\"))\n .route({\n method: \"PATCH\",\n path: \"/notebase-rows/{notebaseRowId}\",\n summary: \"Update notebase row cells\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowUpdateInputSchema)\n .output(NotebaseRowUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_ROW_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"DELETE\",\n path: \"/notebase-rows/{notebaseRowId}\",\n summary: \"Delete notebase row\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowDeleteInputSchema)\n .output(NotebaseRowDeleteOutputSchema),\n\n reorder: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"POST\",\n path: \"/notebase-rows/reorder\",\n summary: \"Reorder notebase rows\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowReorderInputSchema)\n .output(NotebaseRowReorderOutputSchema),\n}\n","import { z } from \"zod\"\n\n// @ref https://zenn.dev/herp_inc/articles/js-intl-date-time-format-performance\nconst localeTimeZoneFormatter = new Map<string, Intl.DateTimeFormat>()\nfunction createTimezoneFormatter(timezone: string): Intl.DateTimeFormat {\n let formatter = localeTimeZoneFormatter.get(timezone)\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(\"en-US\", { timeZone: timezone })\n localeTimeZoneFormatter.set(timezone, formatter)\n }\n return formatter\n}\n\nexport const timezoneSchema = z.string().trim().min(1).refine((timezone) => {\n try {\n createTimezoneFormatter(timezone).format(new Date())\n return true\n }\n catch {\n return false\n }\n}, \"Invalid timezone\")\nexport type Timezone = z.infer<typeof timezoneSchema>\n","import {\n activeScheduleStatusSchema,\n cardStateSchema,\n fsrsReviewLogSnapshotSchema,\n reviewRatingSchema,\n scheduleStatusSchema,\n schedulingParamsSchema,\n SRS_REVIEW_DURATION_MS_MAX,\n srsStepSchema,\n} from \"@read-frog/definitions\"\nimport { z } from \"zod\"\nimport { cardSchema } from \"./card\"\nimport { timezoneSchema } from \"./timezone\"\n\nexport {\n reviewRatingSchema,\n schedulingParamsSchema,\n SRS_REVIEW_DURATION_MS_MAX,\n}\nexport { timezoneSchema } from \"./timezone\"\nexport type { Timezone } from \"./timezone\"\nexport type { ReviewRating, SchedulingParams } from \"@read-frog/definitions\"\n\nexport const stepSchema = srsStepSchema\nexport type Step = z.infer<typeof stepSchema>\n\nexport const SRS_REVIEW_CLIENT_ID_NAMESPACE = \"6ba7b811-9dad-11d1-80b4-00c04fd430c8\"\nconst srsReviewClientIdNamePrefix = \"readfrog:srs-review\"\nconst nullLastReviewTimeSentinel = \"null\"\n\nexport interface SrsReviewClientIdCard {\n id: string\n lastReviewTime: Date | string | null\n}\n\nexport async function createSrsReviewClientId(card: SrsReviewClientIdCard) {\n return uuidV5(\n `${srsReviewClientIdNamePrefix}:${card.id}:${formatLastReviewTime(card.lastReviewTime)}`,\n SRS_REVIEW_CLIENT_ID_NAMESPACE,\n )\n}\n\nexport const srsReviewInputSchema = z.object({\n cardId: z.uuid(),\n id: z.uuid().optional(),\n rating: reviewRatingSchema,\n durationMs: z.number().int().min(0).max(SRS_REVIEW_DURATION_MS_MAX),\n timezone: timezoneSchema,\n}).strict()\nexport type SrsReviewInput = z.infer<typeof srsReviewInputSchema>\n\nexport const srsRollbackReviewInputSchema = z.object({\n cardId: z.uuid(),\n}).strict()\nexport type SrsRollbackReviewInput = z.infer<typeof srsRollbackReviewInputSchema>\n\nexport const srsScheduleStatusStatsSchema = z.record(\n activeScheduleStatusSchema,\n z.number().int().min(0),\n)\nexport type SrsScheduleStatusStats = z.infer<typeof srsScheduleStatusStatsSchema>\n\nexport const srsScheduleStatusStatsInputSchema = z.object({\n notebaseIds: z.array(z.uuid()).optional(),\n timezone: timezoneSchema,\n}).strict()\nexport type SrsScheduleStatusStatsInput = z.infer<typeof srsScheduleStatusStatsInputSchema>\n\nexport const srsScheduleStatusStatsOutputSchema = z.record(\n z.uuid(),\n srsScheduleStatusStatsSchema,\n)\nexport type SrsScheduleStatusStatsOutput = z.infer<typeof srsScheduleStatusStatsOutputSchema>\n\nexport const srsManualCardStatusInputSchema = z.object({\n cardId: z.uuid(),\n enabled: z.boolean(),\n}).strict()\nexport type SrsManualCardStatusInput = z.infer<typeof srsManualCardStatusInputSchema>\n\nexport const srsSetCardBuriedInputSchema = srsManualCardStatusInputSchema\nexport type SrsSetCardBuriedInput = SrsManualCardStatusInput\n\nexport const srsSetCardSuspendedInputSchema = srsManualCardStatusInputSchema\nexport type SrsSetCardSuspendedInput = SrsManualCardStatusInput\n\nexport const srsRevlogSchema = z.object({\n id: z.uuid(),\n notebaseId: z.uuid(),\n cardId: z.uuid(),\n rating: reviewRatingSchema,\n state: cardStateSchema,\n afterScheduleStatus: scheduleStatusSchema,\n reviewedAt: z.coerce.date(),\n durationMs: z.number().int(),\n fsrsReviewLogSnapshot: fsrsReviewLogSnapshotSchema,\n createdAt: z.coerce.date(),\n})\nexport type SrsRevlog = z.infer<typeof srsRevlogSchema>\n\nexport const srsRevlogWithoutSnapshotSchema = srsRevlogSchema.omit({\n fsrsReviewLogSnapshot: true,\n})\nexport type SrsRevlogWithoutSnapshot = z.infer<typeof srsRevlogWithoutSnapshotSchema>\n\nexport const srsReviewOutputSchema = z.object({\n card: cardSchema,\n revlog: srsRevlogSchema,\n txid: z.number(),\n // False when an idempotent replay returned an existing revlog instead of creating one.\n created: z.boolean(),\n})\nexport type SrsReviewOutput = z.infer<typeof srsReviewOutputSchema>\n\nexport const srsRollbackReviewOutputSchema = z.object({\n card: cardSchema,\n rolledBackRevlogId: z.uuid(),\n txid: z.number(),\n})\nexport type SrsRollbackReviewOutput = z.infer<typeof srsRollbackReviewOutputSchema>\n\nexport const srsTxidOutputSchema = z.object({\n txid: z.number(),\n})\nexport type SrsTxidOutput = z.infer<typeof srsTxidOutputSchema>\n\nexport const srsSetCardBuriedOutputSchema = srsTxidOutputSchema\nexport type SrsSetCardBuriedOutput = SrsTxidOutput\n\nexport const srsSetCardSuspendedOutputSchema = srsTxidOutputSchema\nexport type SrsSetCardSuspendedOutput = SrsTxidOutput\n\nfunction formatLastReviewTime(lastReviewTime: Date | string | null) {\n return lastReviewTime ? new Date(lastReviewTime).toISOString() : nullLastReviewTimeSentinel\n}\n\nasync function uuidV5(name: string, namespace: string) {\n const namespaceBytes = uuidToBytes(namespace)\n const nameBytes = new TextEncoder().encode(name)\n const input = new Uint8Array(namespaceBytes.length + nameBytes.length)\n input.set(namespaceBytes)\n input.set(nameBytes, namespaceBytes.length)\n\n const hash = new Uint8Array(await crypto.subtle.digest(\"SHA-1\", input))\n const bytes = hash.slice(0, 16)\n const versionByte = bytes[6]\n const variantByte = bytes[8]\n if (versionByte === undefined || variantByte === undefined) {\n throw new Error(\"SHA-1 digest was too short\")\n }\n bytes[6] = (versionByte & 0x0F) | 0x50\n bytes[8] = (variantByte & 0x3F) | 0x80\n\n return bytesToUuid(bytes)\n}\n\nfunction uuidToBytes(uuid: string) {\n const hex = uuid.replaceAll(\"-\", \"\").toLowerCase()\n /* v8 ignore next 3 -- SRS_REVIEW_CLIENT_ID_NAMESPACE is a fixed valid UUID. */\n if (!/^[0-9a-f]{32}$/.test(hex)) {\n throw new Error(\"Invalid UUID namespace\")\n }\n\n return new Uint8Array(\n Array.from({ length: 16 }, (_, index) =>\n Number.parseInt(hex.slice(index * 2, index * 2 + 2), 16)),\n )\n}\n\nfunction bytesToUuid(bytes: Uint8Array) {\n const hex = Array.from(bytes, byte => byte.toString(16).padStart(2, \"0\"))\n return [\n hex.slice(0, 4).join(\"\"),\n hex.slice(4, 6).join(\"\"),\n hex.slice(6, 8).join(\"\"),\n hex.slice(8, 10).join(\"\"),\n hex.slice(10, 16).join(\"\"),\n ].join(\"-\")\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n srsReviewInputSchema,\n srsReviewOutputSchema,\n srsRollbackReviewInputSchema,\n srsRollbackReviewOutputSchema,\n srsScheduleStatusStatsInputSchema,\n srsScheduleStatusStatsOutputSchema,\n srsSetCardBuriedInputSchema,\n srsSetCardBuriedOutputSchema,\n srsSetCardSuspendedInputSchema,\n srsSetCardSuspendedOutputSchema,\n} from \"#/schemas/srs\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const srsContract = {\n scheduleStatusStats: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/srs/schedule-status-stats\",\n summary: \"List today schedule status stats for notebases\",\n tags: [\"SRS\"],\n })\n .input(srsScheduleStatusStatsInputSchema)\n .output(srsScheduleStatusStatsOutputSchema),\n\n review: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_NOT_REVIEWABLE\",\n \"CARD_REVIEW_STATE_STALE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/review\",\n summary: \"Review a card with SRS scheduling\",\n tags: [\"SRS\"],\n })\n .input(srsReviewInputSchema)\n .output(srsReviewOutputSchema),\n rollbackReview: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_REVIEW_ROLLBACK_UNAVAILABLE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/review/rollback\",\n summary: \"Roll back the latest SRS review for a card\",\n tags: [\"SRS\"],\n })\n .input(srsRollbackReviewInputSchema)\n .output(srsRollbackReviewOutputSchema),\n setCardBuried: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_ALREADY_BURIED\",\n \"CARD_NOT_BURIED\",\n \"CARD_STATUS_CHANGE_UNAVAILABLE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/card/bury\",\n summary: \"Manually bury or unbury a card\",\n tags: [\"SRS\"],\n })\n .input(srsSetCardBuriedInputSchema)\n .output(srsSetCardBuriedOutputSchema),\n setCardSuspended: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_ALREADY_SUSPENDED\",\n \"CARD_NOT_SUSPENDED\",\n \"CARD_STATUS_CHANGE_UNAVAILABLE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/card/suspend\",\n summary: \"Manually suspend or unsuspend a card\",\n tags: [\"SRS\"],\n })\n .input(srsSetCardSuspendedInputSchema)\n .output(srsSetCardSuspendedOutputSchema),\n}\n","import { z } from \"zod\"\nimport { timezoneSchema } from \"./timezone\"\n\nexport const userEnsureTimezoneInputSchema = z.object({\n timezone: timezoneSchema,\n}).strict()\nexport type UserEnsureTimezoneInput = z.infer<typeof userEnsureTimezoneInputSchema>\n\nexport const userEnsureTimezoneOutputSchema = z.object({\n timezone: timezoneSchema,\n updated: z.boolean(),\n}).strict()\nexport type UserEnsureTimezoneOutput = z.infer<typeof userEnsureTimezoneOutputSchema>\n\nexport const userUpdateTimezoneInputSchema = z.object({\n timezone: timezoneSchema,\n}).strict()\nexport type UserUpdateTimezoneInput = z.infer<typeof userUpdateTimezoneInputSchema>\n\nexport const userUpdateTimezoneOutputSchema = z.object({\n timezone: timezoneSchema,\n}).strict()\nexport type UserUpdateTimezoneOutput = z.infer<typeof userUpdateTimezoneOutputSchema>\n","import { oc } from \"@orpc/contract\"\nimport {\n userEnsureTimezoneInputSchema,\n userEnsureTimezoneOutputSchema,\n userUpdateTimezoneInputSchema,\n userUpdateTimezoneOutputSchema,\n} from \"#/schemas/user\"\n\nexport const userContract = {\n ensureTimezone: oc\n .route({\n method: \"POST\",\n path: \"/users/me/timezone/ensure\",\n summary: \"Ensure the authenticated user has a timezone\",\n tags: [\"Users\"],\n })\n .input(userEnsureTimezoneInputSchema)\n .output(userEnsureTimezoneOutputSchema),\n updateTimezone: oc\n .route({\n method: \"PATCH\",\n path: \"/users/me/timezone\",\n summary: \"Update the authenticated user's timezone\",\n tags: [\"Users\"],\n })\n .input(userUpdateTimezoneInputSchema)\n .output(userUpdateTimezoneOutputSchema),\n}\n","import { transcriptSegmentSchema } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport const videoTranscriptStatusSchema = z.enum([\n \"pending\",\n \"processing\",\n \"completed\",\n \"failed\",\n])\nexport type VideoTranscriptStatus = z.infer<typeof videoTranscriptStatusSchema>\n\n// The transcript \"job\" resource: status + metadata, without the (heavy) segments payload.\nexport const videoTranscriptResourceSchema = z.object({\n id: z.string(),\n platform: z.string(),\n videoId: z.string(),\n url: z.string(),\n status: videoTranscriptStatusSchema,\n title: z.string().nullable(),\n durationSec: z.number().nullable(),\n detectedLanguage: z.string().nullable(),\n error: z.string().nullable(),\n createdAt: z.date(),\n updatedAt: z.date(),\n})\nexport type VideoTranscriptResource = z.infer<typeof videoTranscriptResourceSchema>\n\n// The subtitles sub-resource: the segments + model-detected language, only available once completed.\nexport const videoTranscriptSubtitlesSchema = z.object({\n id: z.string(),\n detectedLanguage: z.string().nullable(),\n segments: z.array(transcriptSegmentSchema),\n})\nexport type VideoTranscriptSubtitles = z.infer<typeof videoTranscriptSubtitlesSchema>\n\nexport const videoTranscriptCreateInputSchema = z.object({\n platform: z.string(),\n videoId: z.string(),\n url: z.string().url(),\n}).strict()\nexport type VideoTranscriptCreateInput = z.infer<typeof videoTranscriptCreateInputSchema>\n\nexport const videoTranscriptGetInputSchema = z.object({\n id: z.uuid(),\n}).strict()\nexport type VideoTranscriptGetInput = z.infer<typeof videoTranscriptGetInputSchema>\n\n// The caller's monthly transcription usage against the beta quota.\nexport const videoTranscriptUsageSchema = z.object({\n usedMinutes: z.number().int(),\n limitMinutes: z.number().int(),\n remainingMinutes: z.number().int(),\n})\nexport type VideoTranscriptUsage = z.infer<typeof videoTranscriptUsageSchema>\n","import { oc } from \"@orpc/contract\"\nimport { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n videoTranscriptCreateInputSchema,\n videoTranscriptGetInputSchema,\n videoTranscriptResourceSchema,\n videoTranscriptSubtitlesSchema,\n videoTranscriptUsageSchema,\n} from \"#/schemas/video-transcript\"\n\nexport const videoTranscriptContract = {\n create: oc\n .errors(pickPublicErrorMap(\"VIDEO_TRANSCRIPTION_QUOTA_EXCEEDED\"))\n .route({\n method: \"POST\",\n path: \"/video-transcripts\",\n summary: \"Create or reuse a video transcription job\",\n tags: [\"Video Transcription\"],\n })\n .input(videoTranscriptCreateInputSchema)\n .output(videoTranscriptResourceSchema),\n getUsage: oc\n .route({\n method: \"GET\",\n path: \"/video-transcripts/usage\",\n summary: \"Get the caller's monthly transcription quota usage\",\n tags: [\"Video Transcription\"],\n })\n .output(videoTranscriptUsageSchema),\n get: oc\n .errors(pickPublicErrorMap(\"VIDEO_TRANSCRIPT_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/video-transcripts/{id}\",\n summary: \"Get a video transcription job's status\",\n tags: [\"Video Transcription\"],\n })\n .input(videoTranscriptGetInputSchema)\n .output(videoTranscriptResourceSchema),\n getSubtitles: oc\n .errors(pickPublicErrorMap(\"VIDEO_TRANSCRIPT_NOT_FOUND\", \"VIDEO_TRANSCRIPT_NOT_READY\"))\n .route({\n method: \"GET\",\n path: \"/video-transcripts/{id}/subtitles\",\n summary: \"Get a completed video transcript's subtitles\",\n tags: [\"Video Transcription\"],\n })\n .input(videoTranscriptGetInputSchema)\n .output(videoTranscriptSubtitlesSchema),\n}\n","import type { ContractRouterClient } from \"@orpc/contract\"\nimport { betaAccessContract } from \"./contracts/beta-access\"\nimport { billingContract } from \"./contracts/billing\"\nimport { cardContract } from \"./contracts/card\"\nimport { cardTemplateContract } from \"./contracts/card-template\"\nimport { hostedAiContract } from \"./contracts/hosted-ai\"\nimport { notebaseContract } from \"./contracts/notebase\"\nimport { notebaseColumnContract } from \"./contracts/notebase-column\"\nimport { notebaseRowContract } from \"./contracts/notebase-row\"\nimport { srsContract } from \"./contracts/srs\"\nimport { userContract } from \"./contracts/user\"\nimport { videoTranscriptContract } from \"./contracts/video-transcript\"\n\nexport const contract = {\n betaAccess: betaAccessContract,\n billing: billingContract,\n card: cardContract,\n cardTemplate: cardTemplateContract,\n hostedAi: hostedAiContract,\n notebase: notebaseContract,\n notebaseColumn: notebaseColumnContract,\n notebaseRow: notebaseRowContract,\n srs: srsContract,\n user: userContract,\n videoTranscript: videoTranscriptContract,\n}\n\nexport type ORPCRouterClient = ContractRouterClient<typeof contract>\n\nexport * from \"./public-errors\"\nexport * from \"./schemas/beta-access\"\nexport * from \"./schemas/billing\"\nexport * from \"./schemas/card\"\nexport * from \"./schemas/hosted-ai\"\nexport * from \"./schemas/notebase\"\nexport * from \"./schemas/notebase-column\"\nexport * from \"./schemas/notebase-row\"\nexport * from \"./schemas/notebase-view\"\nexport * from \"./schemas/srs\"\nexport * from \"./schemas/timezone\"\nexport * from \"./schemas/user\"\nexport * from \"./schemas/video-transcript\"\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["cardStateSchema","scheduleStatusSchema"],"sources":["../src/schemas/beta-access.ts","../src/contracts/beta-access.ts","../src/public-errors.ts","../src/schemas/billing.ts","../src/contracts/billing.ts","../src/schemas/card.ts","../src/contracts/shared.ts","../src/contracts/card.ts","../src/contracts/card-template.ts","../src/schemas/hosted-ai.ts","../src/contracts/hosted-ai.ts","../src/schemas/notebase-column.ts","../src/schemas/notebase-row.ts","../src/schemas/notebase-view.ts","../src/schemas/notebase.ts","../src/contracts/notebase.ts","../src/contracts/notebase-column.ts","../src/contracts/notebase-row.ts","../src/schemas/timezone.ts","../src/schemas/srs.ts","../src/contracts/srs.ts","../src/schemas/user.ts","../src/contracts/user.ts","../src/schemas/video-transcript.ts","../src/contracts/video-transcript.ts","../src/index.ts"],"sourcesContent":["import { BETA_FEATURE_KEYS } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport const BetaFeatureKeySchema = z.enum(BETA_FEATURE_KEYS)\nexport type BetaFeatureKey = z.infer<typeof BetaFeatureKeySchema>\n\nexport const BetaAccessStatusInputSchema = z.object({\n featureKey: BetaFeatureKeySchema,\n}).strict()\nexport type BetaAccessStatusInput = z.infer<typeof BetaAccessStatusInputSchema>\n\nexport const BetaAccessStatusOutputSchema = z.object({\n featureKey: BetaFeatureKeySchema,\n allowed: z.boolean(),\n})\nexport type BetaAccessStatusOutput = z.infer<typeof BetaAccessStatusOutputSchema>\n","import { oc } from \"@orpc/contract\"\nimport {\n BetaAccessStatusInputSchema,\n BetaAccessStatusOutputSchema,\n} from \"#/schemas/beta-access\"\n\nexport const betaAccessContract = {\n status: oc\n .route({\n method: \"GET\",\n path: \"/beta-access/status\",\n summary: \"Get beta access status for a feature\",\n tags: [\"Beta Access\"],\n })\n .input(BetaAccessStatusInputSchema)\n .output(BetaAccessStatusOutputSchema),\n}\n","import type { ErrorMap } from \"@orpc/contract\"\nimport { z } from \"zod\"\n\ninterface PublicAppErrorDefinition {\n data?: z.ZodTypeAny\n message: string\n status: number\n}\n\nexport const CellValidationFailureReasonSchema = z.enum([\n \"unknown_notebase_column\",\n \"type_mismatch\",\n \"invalid_select_option\",\n \"invalid_date_format\",\n])\nexport type CellValidationFailureReason = z.infer<typeof CellValidationFailureReasonSchema>\n\nexport const CellValidationFailureDetailsSchema = z.object({\n expectedFormat: z.string().optional(),\n expectedType: z.string().optional(),\n receivedType: z.string().optional(),\n receivedValue: z.unknown().optional(),\n validOptions: z.array(z.string()).optional(),\n}).strict()\nexport type CellValidationFailureDetails = z.infer<typeof CellValidationFailureDetailsSchema>\n\nexport const CellValidationFailedDataSchema = z.object({\n notebaseColumnId: z.string(),\n details: CellValidationFailureDetailsSchema,\n reason: CellValidationFailureReasonSchema,\n /** Index of the failing row within a batch input (createMany / initialRows). */\n rowIndex: z.number().int().min(0).optional(),\n}).strict()\nexport type CellValidationFailedData = z.infer<typeof CellValidationFailedDataSchema>\n\nexport const CardTemplateInvalidColumnsDataSchema = z.object({\n notebaseColumnIds: z.array(z.string()),\n}).strict()\nexport type CardTemplateInvalidColumnsData = z.infer<typeof CardTemplateInvalidColumnsDataSchema>\n\nexport const PUBLIC_APP_ERROR_DEFS = {\n NOTEBASE_BETA_RESTRICTED: {\n message: \"Notebase is currently in beta for selected accounts\",\n status: 403,\n },\n NOTEBASE_NOT_FOUND: {\n message: \"Notebase not found\",\n status: 404,\n },\n VIDEO_TRANSCRIPTION_BETA_RESTRICTED: {\n message: \"Video transcription is currently in beta for selected accounts\",\n status: 403,\n },\n VIDEO_TRANSCRIPT_NOT_FOUND: {\n message: \"Video transcript not found\",\n status: 404,\n },\n VIDEO_TRANSCRIPT_NOT_READY: {\n message: \"Video transcript is not ready yet\",\n status: 409,\n },\n VIDEO_TRANSCRIPTION_QUOTA_EXCEEDED: {\n message: \"Monthly transcription quota exceeded\",\n status: 429,\n },\n NOTEBASE_COLUMN_NOT_FOUND: {\n message: \"Notebase column not found\",\n status: 404,\n },\n NOTEBASE_ROW_NOT_FOUND: {\n message: \"Notebase row not found\",\n status: 404,\n },\n CARD_NOT_FOUND: {\n message: \"Card not found\",\n status: 404,\n },\n CARD_TEMPLATE_NOT_FOUND: {\n message: \"Card template not found\",\n status: 404,\n },\n CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS: {\n data: CardTemplateInvalidColumnsDataSchema,\n message: \"Card template references unknown notebase columns\",\n status: 422,\n },\n CARD_TEMPLATE_NOTEBASE_COLUMN_IN_USE: {\n message: \"Notebase column is used by a card template\",\n status: 409,\n },\n NOTE_LIMIT_EXCEEDED: {\n message: \"Upgrade is required to create more Notebase notes\",\n status: 403,\n },\n BILLING_NOT_CONFIGURED: {\n message: \"Billing is not configured\",\n status: 503,\n },\n BILLING_CUSTOMER_NOT_FOUND: {\n message: \"Billing customer not found\",\n status: 404,\n },\n BILLING_PASS_ACTIVE: {\n message: \"An active Pro pass already covers this account\",\n status: 409,\n },\n CARD_NOT_REVIEWABLE: {\n message: \"Card cannot be reviewed in its current state\",\n status: 409,\n },\n CARD_REVIEW_STATE_STALE: {\n message: \"Card review state is stale\",\n status: 409,\n },\n CARD_REVIEW_ROLLBACK_UNAVAILABLE: {\n message: \"Card review cannot be rolled back\",\n status: 409,\n },\n CARD_ALREADY_BURIED: {\n message: \"Card is already buried\",\n status: 409,\n },\n CARD_NOT_BURIED: {\n message: \"Card is not buried\",\n status: 409,\n },\n CARD_ALREADY_SUSPENDED: {\n message: \"Card is already suspended\",\n status: 409,\n },\n CARD_NOT_SUSPENDED: {\n message: \"Card is not suspended\",\n status: 409,\n },\n CARD_STATUS_CHANGE_UNAVAILABLE: {\n message: \"Card status change is unavailable\",\n status: 409,\n },\n NOTEBASE_VIEW_NOT_FOUND: {\n message: \"Notebase view not found\",\n status: 404,\n },\n CELL_VALIDATION_FAILED: {\n data: CellValidationFailedDataSchema,\n message: \"Cell validation failed\",\n status: 422,\n },\n PRIMARY_NOTEBASE_COLUMN_DELETE_NOT_ALLOWED: {\n message: \"Cannot delete primary notebase column\",\n status: 400,\n },\n CONCURRENT_POSITION_CONFLICT: {\n message: \"Concurrent position conflict, please retry\",\n status: 409,\n },\n} as const satisfies Record<string, PublicAppErrorDefinition>\n\nexport type PublicAppErrorCode = keyof typeof PUBLIC_APP_ERROR_DEFS\n\nexport type PublicAppErrorData<TCode extends PublicAppErrorCode>\n = (typeof PUBLIC_APP_ERROR_DEFS)[TCode] extends { data: infer TSchema extends z.ZodTypeAny }\n ? z.output<TSchema>\n : undefined\n\nexport function isPublicAppErrorCode(code: string | undefined): code is PublicAppErrorCode {\n return code !== undefined && code in PUBLIC_APP_ERROR_DEFS\n}\n\nexport function getPublicErrorDefinition<TCode extends PublicAppErrorCode>(code: TCode) {\n return PUBLIC_APP_ERROR_DEFS[code]\n}\n\nexport function pickPublicErrorMap<const TCodes extends readonly PublicAppErrorCode[]>(\n ...codes: TCodes\n) {\n return Object.fromEntries(codes.map((code) => {\n const definition = PUBLIC_APP_ERROR_DEFS[code]\n\n if (\"data\" in definition) {\n return [code, {\n data: definition.data,\n message: definition.message,\n status: definition.status,\n }]\n }\n\n return [code, {\n message: definition.message,\n status: definition.status,\n }]\n })) as Pick<ErrorMap, TCodes[number]>\n}\n","import { z } from \"zod\"\n\nexport const billingIntervalSchema = z.enum([\"month\", \"year\"])\nexport type BillingInterval = z.infer<typeof billingIntervalSchema>\n\nexport const billingSubscriptionStatusSchema = z.enum([\n \"incomplete\",\n \"incomplete_expired\",\n \"trialing\",\n \"active\",\n \"past_due\",\n \"canceled\",\n \"unpaid\",\n \"paused\",\n])\nexport type BillingSubscriptionStatus = z.infer<typeof billingSubscriptionStatusSchema>\n\nexport const billingPlanSchema = z.enum([\"free\", \"pro\", \"ultra\"])\nexport type BillingPlan = z.infer<typeof billingPlanSchema>\n\n// Plans a user can actively check out into (the free tier has no price).\nexport const billingCheckoutPlanSchema = z.enum([\"pro\", \"ultra\"])\nexport type BillingCheckoutPlan = z.infer<typeof billingCheckoutPlanSchema>\n\nexport const billingCheckoutChannelSchema = z.enum([\"global\", \"cn\"])\nexport type BillingCheckoutChannel = z.infer<typeof billingCheckoutChannelSchema>\n\nexport const billingAccessSourceSchema = z.enum([\"subscription\", \"pass\"])\nexport type BillingAccessSource = z.infer<typeof billingAccessSourceSchema>\n\nexport const billingStatusSchema = z.object({\n plan: billingPlanSchema,\n status: billingSubscriptionStatusSchema.nullable(),\n interval: billingIntervalSchema.nullable(),\n currentPeriodEnd: z.coerce.date().nullable(),\n cancelAtPeriodEnd: z.boolean(),\n accessSource: billingAccessSourceSchema.nullable(),\n unlimitedNotebaseNotes: z.boolean(),\n notebaseNoteLimit: z.number().int().positive(),\n notebaseNoteCount: z.number().int().min(0),\n}).strict()\nexport type BillingStatus = z.infer<typeof billingStatusSchema>\n\nexport const billingCreateCheckoutSessionInputSchema = z.object({\n interval: billingIntervalSchema,\n channel: billingCheckoutChannelSchema.default(\"global\"),\n plan: billingCheckoutPlanSchema.default(\"pro\"),\n}).strict()\nexport type BillingCreateCheckoutSessionInput = z.infer<typeof billingCreateCheckoutSessionInputSchema>\n\nexport const billingSessionUrlOutputSchema = z.object({\n url: z.url(),\n}).strict()\nexport type BillingSessionUrlOutput = z.infer<typeof billingSessionUrlOutputSchema>\n","import { oc } from \"@orpc/contract\"\nimport { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n billingCreateCheckoutSessionInputSchema,\n billingSessionUrlOutputSchema,\n billingStatusSchema,\n} from \"#/schemas/billing\"\n\nconst billingProcedure = oc.errors(\n pickPublicErrorMap(\"BILLING_NOT_CONFIGURED\", \"BILLING_CUSTOMER_NOT_FOUND\", \"BILLING_PASS_ACTIVE\"),\n)\n\nexport const billingContract = {\n status: billingProcedure\n .route({\n method: \"GET\",\n path: \"/billing/status\",\n summary: \"Get authenticated user's billing status\",\n tags: [\"Billing\"],\n })\n .output(billingStatusSchema),\n createCheckoutSession: billingProcedure\n .route({\n method: \"POST\",\n path: \"/billing/checkout-sessions\",\n summary: \"Create a Stripe Checkout Session for a subscription or one-time Pro pass\",\n tags: [\"Billing\"],\n })\n .input(billingCreateCheckoutSessionInputSchema)\n .output(billingSessionUrlOutputSchema),\n createCustomerPortalSession: billingProcedure\n .route({\n method: \"POST\",\n path: \"/billing/customer-portal-sessions\",\n summary: \"Create a Stripe Customer Portal Session\",\n tags: [\"Billing\"],\n })\n .output(billingSessionUrlOutputSchema),\n}\n","import {\n cardIdentityShape,\n cardMemoryStateShape,\n cardStateSchema,\n cardTemplateConfigSchema,\n scheduleStatusSchema,\n} from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport {\n cardStateSchema,\n scheduleStatusSchema,\n}\nexport type { CardState, ScheduleStatus } from \"@read-frog/definitions\"\n\nexport const cardTemplateSchema = z.object({\n id: z.uuid(),\n notebaseId: z.uuid(),\n name: z.string(),\n config: cardTemplateConfigSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type CardTemplate = z.infer<typeof cardTemplateSchema>\n\nexport const CardTemplateListInputSchema = z.object({\n notebaseId: z.uuid(),\n})\nexport type CardTemplateListInput = z.infer<typeof CardTemplateListInputSchema>\n\nexport const CardTemplateListOutputSchema = z.array(cardTemplateSchema)\nexport type CardTemplateListOutput = z.infer<typeof CardTemplateListOutputSchema>\n\nexport const CardTemplateGetInputSchema = z.object({\n id: z.uuid(),\n})\nexport type CardTemplateGetInput = z.infer<typeof CardTemplateGetInputSchema>\n\nexport const CardTemplateGetOutputSchema = cardTemplateSchema\nexport type CardTemplateGetOutput = z.infer<typeof CardTemplateGetOutputSchema>\n\nexport const CardTemplateCreateInputSchema = z.object({\n id: z.uuid().optional(),\n notebaseId: z.uuid(),\n name: z.string().min(1),\n config: cardTemplateConfigSchema,\n}).strict()\nexport type CardTemplateCreateInput = z.infer<typeof CardTemplateCreateInputSchema>\n\nexport const CardTemplateCreateOutputSchema = cardTemplateSchema.extend({\n txid: z.number(),\n})\nexport type CardTemplateCreateOutput = z.infer<typeof CardTemplateCreateOutputSchema>\n\nexport const CardTemplateUpdateInputSchema = z.object({\n id: z.uuid(),\n name: z.string().min(1).optional(),\n config: cardTemplateConfigSchema.optional(),\n}).strict()\nexport type CardTemplateUpdateInput = z.infer<typeof CardTemplateUpdateInputSchema>\n\nexport const CardTemplateUpdateOutputSchema = cardTemplateSchema.extend({\n txid: z.number(),\n})\nexport type CardTemplateUpdateOutput = z.infer<typeof CardTemplateUpdateOutputSchema>\n\nexport const CardTemplateDeleteInputSchema = z.object({\n id: z.uuid(),\n})\nexport type CardTemplateDeleteInput = z.infer<typeof CardTemplateDeleteInputSchema>\n\nexport const CardTemplateDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type CardTemplateDeleteOutput = z.infer<typeof CardTemplateDeleteOutputSchema>\n\nexport const cardSchema = z.object({\n ...cardIdentityShape,\n ...cardMemoryStateShape,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type Card = z.infer<typeof cardSchema>\n\nexport const renderedCardSchema = cardSchema.extend({\n front: z.string(),\n back: z.string(),\n})\nexport type RenderedCard = z.infer<typeof renderedCardSchema>\n\nexport const CardListInputSchema = z.object({\n notebaseId: z.uuid(),\n templateId: z.uuid().optional(),\n limit: z.number().int().min(1).max(500).optional(),\n offset: z.number().int().min(0).optional(),\n})\nexport type CardListInput = z.infer<typeof CardListInputSchema>\n\nexport const CardListOutputSchema = z.array(renderedCardSchema)\nexport type CardListOutput = z.infer<typeof CardListOutputSchema>\n\nexport const CardGetInputSchema = z.object({\n id: z.uuid(),\n})\nexport type CardGetInput = z.infer<typeof CardGetInputSchema>\n\nexport const CardGetOutputSchema = renderedCardSchema\nexport type CardGetOutput = z.infer<typeof CardGetOutputSchema>\n\nexport const CardGenerateInputSchema = z.object({\n notebaseId: z.uuid(),\n templateId: z.uuid().optional(),\n})\nexport type CardGenerateInput = z.infer<typeof CardGenerateInputSchema>\n\nexport const CardGenerateOutputSchema = z.object({\n created: z.number().int().min(0),\n txid: z.number(),\n})\nexport type CardGenerateOutput = z.infer<typeof CardGenerateOutputSchema>\n","import { oc } from \"@orpc/contract\"\n\nexport const notebaseProcedure = oc\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n CardGenerateInputSchema,\n CardGenerateOutputSchema,\n CardGetInputSchema,\n CardGetOutputSchema,\n CardListInputSchema,\n CardListOutputSchema,\n} from \"#/schemas/card\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const cardContract = {\n list: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/cards\",\n summary: \"List rendered cards\",\n tags: [\"Cards\"],\n })\n .input(CardListInputSchema)\n .output(CardListOutputSchema),\n\n get: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/cards/{id}\",\n summary: \"Get rendered card\",\n tags: [\"Cards\"],\n })\n .input(CardGetInputSchema)\n .output(CardGetOutputSchema),\n\n generate: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CARD_TEMPLATE_NOT_FOUND\"))\n .route({\n method: \"POST\",\n path: \"/cards/generate\",\n summary: \"Generate missing cards\",\n tags: [\"Cards\"],\n })\n .input(CardGenerateInputSchema)\n .output(CardGenerateOutputSchema),\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n CardTemplateCreateInputSchema,\n CardTemplateCreateOutputSchema,\n CardTemplateDeleteInputSchema,\n CardTemplateDeleteOutputSchema,\n CardTemplateGetInputSchema,\n CardTemplateGetOutputSchema,\n CardTemplateListInputSchema,\n CardTemplateListOutputSchema,\n CardTemplateUpdateInputSchema,\n CardTemplateUpdateOutputSchema,\n} from \"#/schemas/card\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const cardTemplateContract = {\n list: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/card-templates\",\n summary: \"List card templates\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateListInputSchema)\n .output(CardTemplateListOutputSchema),\n\n get: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_TEMPLATE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/card-templates/{id}\",\n summary: \"Get card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateGetInputSchema)\n .output(CardTemplateGetOutputSchema),\n\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS\"))\n .route({\n method: \"POST\",\n path: \"/card-templates\",\n summary: \"Create card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateCreateInputSchema)\n .output(CardTemplateCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_TEMPLATE_NOT_FOUND\", \"CARD_TEMPLATE_INVALID_NOTEBASE_COLUMNS\"))\n .route({\n method: \"PATCH\",\n path: \"/card-templates/{id}\",\n summary: \"Update card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateUpdateInputSchema)\n .output(CardTemplateUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\"CARD_TEMPLATE_NOT_FOUND\"))\n .route({\n method: \"DELETE\",\n path: \"/card-templates/{id}\",\n summary: \"Delete card template\",\n tags: [\"Card Templates\"],\n })\n .input(CardTemplateDeleteInputSchema)\n .output(CardTemplateDeleteOutputSchema),\n}\n","import type { RefinementCtx } from \"zod\"\nimport { z } from \"zod\"\n\nconst HOSTED_AI_SYSTEM_FALLBACK_REMOVAL_DATE = \"2026-07-11\"\n\nexport const HostedAiOutputFieldTypeSchema = z.enum([\"string\", \"number\"])\n\nexport const HostedAiOutputFieldSchema = z.strictObject({\n name: z.string().trim().min(1).max(80),\n type: HostedAiOutputFieldTypeSchema,\n})\n\nconst HostedAiInstructionsSchema = z.string().trim().min(1).max(16000)\n\ninterface HostedAiInstructionsCompatibilityInput {\n instructions?: string\n system?: string\n}\n\nfunction validateHostedAiInstructionsCompatibility(\n input: HostedAiInstructionsCompatibilityInput,\n ctx: RefinementCtx<HostedAiInstructionsCompatibilityInput>,\n): void {\n if (input.instructions !== undefined || input.system !== undefined) {\n return\n }\n\n ctx.addIssue({\n code: \"custom\",\n message: `instructions is required. The deprecated system field is accepted as a temporary fallback until ${HOSTED_AI_SYSTEM_FALLBACK_REMOVAL_DATE}.`,\n path: [\"instructions\"],\n })\n}\n\nexport const HostedAiStreamTextInputSchema = z.strictObject({\n instructions: HostedAiInstructionsSchema.optional(),\n system: HostedAiInstructionsSchema.optional(),\n prompt: z.string().trim().min(1).max(32000),\n temperature: z.number().min(0).max(2).optional(),\n}).superRefine(validateHostedAiInstructionsCompatibility)\n\nexport const HostedAiStreamStructuredObjectInputSchema = z.strictObject({\n instructions: HostedAiInstructionsSchema.optional(),\n system: HostedAiInstructionsSchema.optional(),\n prompt: z.string().trim().min(1).max(32000),\n outputSchema: z.array(HostedAiOutputFieldSchema).min(1).max(32),\n temperature: z.number().min(0).max(2).optional(),\n}).superRefine((input, ctx) => {\n validateHostedAiInstructionsCompatibility(input, ctx)\n\n const fieldNames = new Set<string>()\n\n input.outputSchema.forEach((field, index) => {\n if (fieldNames.has(field.name)) {\n ctx.addIssue({\n code: \"custom\",\n message: `Duplicate output schema name \"${field.name}\".`,\n path: [\"outputSchema\", index, \"name\"],\n })\n return\n }\n\n fieldNames.add(field.name)\n })\n})\n\nexport const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES = 2\nexport const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS = 16\n\nexport const HostedAiNoteSuggestionStreamInputSchema = z.strictObject({\n instructions: HostedAiInstructionsSchema,\n prompt: z.string().trim().min(1).max(32000),\n temperature: z.number().min(0).max(2).optional(),\n})\n\n/**\n * Fixed structured-output schema for hosted note suggestions. Must stay\n * strict-structured-outputs-safe: strict objects only, no records, no\n * `.optional()` (nullable-only), unions limited to primitives. If the upstream\n * deployment rejects `maxItems`/`maxLength` constraint keywords, strip the\n * `.max()` calls from the model-facing copy only — clients still validate\n * against this schema.\n */\nexport const HostedAiNoteSuggestionObjectSchema = z.strictObject({\n action: z.strictObject({\n createNewDictionaryAction: z.boolean(),\n targetActionId: z.string().max(128).nullable(),\n /**\n * Name of the chosen schema's field whose value best works as a one-line\n * explanation of the term in UI (usually a definition/meaning field);\n * null when no field fits. Purely a display hint — clients sanitize it\n * and fall back to their own ordering when invalid.\n */\n summaryFieldName: z.string().max(80).nullable(),\n }),\n notes: z.array(\n z.strictObject({\n fields: z.array(\n z.strictObject({\n name: z.string().max(80),\n value: z.union([z.string(), z.number()]).nullable(),\n }),\n ).max(HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS),\n }),\n ).max(HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES),\n})\n\nexport const HostedAiStreamPartSchema = z.looseObject({\n type: z.string().trim().min(1),\n})\n\nexport type HostedAiOutputFieldType = z.infer<typeof HostedAiOutputFieldTypeSchema>\nexport type HostedAiOutputField = z.infer<typeof HostedAiOutputFieldSchema>\nexport type HostedAiStreamTextInput = z.infer<typeof HostedAiStreamTextInputSchema>\nexport type HostedAiStreamStructuredObjectInput = z.infer<typeof HostedAiStreamStructuredObjectInputSchema>\nexport type HostedAiNoteSuggestionStreamInput = z.infer<typeof HostedAiNoteSuggestionStreamInputSchema>\nexport type HostedAiNoteSuggestionObject = z.infer<typeof HostedAiNoteSuggestionObjectSchema>\nexport type HostedAiStreamPart = z.infer<typeof HostedAiStreamPartSchema>\n","import { eventIterator, oc } from \"@orpc/contract\"\nimport {\n HostedAiNoteSuggestionStreamInputSchema,\n HostedAiStreamPartSchema,\n HostedAiStreamStructuredObjectInputSchema,\n HostedAiStreamTextInputSchema,\n} from \"#/schemas/hosted-ai\"\n\nexport const hostedAiContract = {\n translate: {\n streamText: oc\n .route({\n method: \"POST\",\n path: \"/hosted-ai/translate/stream-text\",\n summary: \"Stream hosted translation text output\",\n tags: [\"Hosted AI\"],\n })\n .input(HostedAiStreamTextInputSchema)\n .output(eventIterator(HostedAiStreamPartSchema)),\n },\n customAction: {\n streamStructuredObject: oc\n .route({\n method: \"POST\",\n path: \"/hosted-ai/custom-actions/stream-structured-object\",\n summary: \"Stream hosted custom action structured output\",\n tags: [\"Hosted AI\"],\n })\n .input(HostedAiStreamStructuredObjectInputSchema)\n .output(eventIterator(HostedAiStreamPartSchema)),\n },\n noteSuggestion: {\n streamStructuredObject: oc\n .route({\n method: \"POST\",\n path: \"/hosted-ai/note-suggestions/stream-structured-object\",\n summary: \"Stream hosted note suggestion structured output\",\n tags: [\"Hosted AI\"],\n })\n .input(HostedAiNoteSuggestionStreamInputSchema)\n .output(eventIterator(HostedAiStreamPartSchema)),\n },\n}\n","import { NOTEBASE_COLUMN_MAX_WIDTH, NOTEBASE_COLUMN_MIN_WIDTH, notebaseColumnConfigSchema } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport const notebaseColumnWidthSchema = z.number().int().min(NOTEBASE_COLUMN_MIN_WIDTH).max(NOTEBASE_COLUMN_MAX_WIDTH)\n\nexport const notebaseColumnSchema = z.object({\n id: z.string(),\n notebaseId: z.string(),\n name: z.string(),\n config: notebaseColumnConfigSchema,\n position: z.number(),\n isPrimary: z.boolean(),\n width: z.number().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type NotebaseColumn = z.infer<typeof notebaseColumnSchema>\n\nexport const notebaseColumnCreateDataSchema = z.object({\n id: z.uuid().optional(),\n name: z.string().min(1),\n config: notebaseColumnConfigSchema,\n}).strict()\nexport type NotebaseColumnCreateData = z.infer<typeof notebaseColumnCreateDataSchema>\n\nexport const notebaseColumnUpdateDataSchema = z.object({\n name: z.string().min(1).optional(),\n config: notebaseColumnConfigSchema.optional(),\n width: notebaseColumnWidthSchema.nullable().optional(),\n}).strict()\nexport type NotebaseColumnUpdateData = z.infer<typeof notebaseColumnUpdateDataSchema>\n\nexport const NotebaseColumnCreateInputSchema = z.object({\n notebaseId: z.uuid(),\n data: notebaseColumnCreateDataSchema,\n})\nexport type NotebaseColumnCreateInput = z.infer<typeof NotebaseColumnCreateInputSchema>\n\nexport const NotebaseColumnCreateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnCreateOutput = z.infer<typeof NotebaseColumnCreateOutputSchema>\n\nexport const NotebaseColumnUpdateInputSchema = z.object({\n notebaseColumnId: z.uuid(),\n data: notebaseColumnUpdateDataSchema,\n})\nexport type NotebaseColumnUpdateInput = z.infer<typeof NotebaseColumnUpdateInputSchema>\n\nexport const NotebaseColumnUpdateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnUpdateOutput = z.infer<typeof NotebaseColumnUpdateOutputSchema>\n\nexport const NotebaseColumnDeleteInputSchema = z.object({\n notebaseColumnId: z.uuid(),\n})\nexport type NotebaseColumnDeleteInput = z.infer<typeof NotebaseColumnDeleteInputSchema>\n\nexport const NotebaseColumnDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnDeleteOutput = z.infer<typeof NotebaseColumnDeleteOutputSchema>\n\nexport const NotebaseColumnReorderInputSchema = z.object({\n notebaseId: z.uuid(),\n ids: z.array(z.uuid()),\n})\nexport type NotebaseColumnReorderInput = z.infer<typeof NotebaseColumnReorderInputSchema>\n\nexport const NotebaseColumnReorderOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseColumnReorderOutput = z.infer<typeof NotebaseColumnReorderOutputSchema>\n","import { z } from \"zod\"\n\nexport const notebaseRowCellsSchema = z.record(z.string(), z.unknown())\n\nexport const notebaseRowSchema = z.object({\n id: z.string(),\n notebaseId: z.string(),\n cells: notebaseRowCellsSchema,\n position: z.number(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type NotebaseRow = z.infer<typeof notebaseRowSchema>\n\nexport const notebaseRowCreateDataSchema = z.object({\n id: z.uuid().optional(),\n cells: notebaseRowCellsSchema.optional(),\n}).strict()\nexport type NotebaseRowCreateData = z.infer<typeof notebaseRowCreateDataSchema>\n\nexport const notebaseRowUpdateDataSchema = z.object({\n cells: notebaseRowCellsSchema.optional(),\n}).strict()\nexport type NotebaseRowUpdateData = z.infer<typeof notebaseRowUpdateDataSchema>\n\nexport const NotebaseRowCreateInputSchema = z.object({\n notebaseId: z.uuid(),\n data: notebaseRowCreateDataSchema,\n})\nexport type NotebaseRowCreateInput = z.infer<typeof NotebaseRowCreateInputSchema>\n\nexport const NotebaseRowCreateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowCreateOutput = z.infer<typeof NotebaseRowCreateOutputSchema>\n\nexport const NOTEBASE_ROW_CREATE_MANY_MAX_ROWS = 50\n\nexport const NotebaseRowCreateManyInputSchema = z.object({\n notebaseId: z.uuid(),\n rows: z.array(notebaseRowCreateDataSchema).min(1).max(NOTEBASE_ROW_CREATE_MANY_MAX_ROWS),\n}).superRefine((input, ctx) => {\n const seenIds = new Set<string>()\n\n input.rows.forEach((row, index) => {\n if (row.id === undefined) {\n return\n }\n\n if (seenIds.has(row.id)) {\n ctx.addIssue({\n code: \"custom\",\n message: `Duplicate row id \"${row.id}\".`,\n path: [\"rows\", index, \"id\"],\n })\n return\n }\n\n seenIds.add(row.id)\n })\n})\nexport type NotebaseRowCreateManyInput = z.infer<typeof NotebaseRowCreateManyInputSchema>\n\nexport const NotebaseRowCreateManyOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowCreateManyOutput = z.infer<typeof NotebaseRowCreateManyOutputSchema>\n\nexport const NotebaseRowUpdateInputSchema = z.object({\n notebaseRowId: z.uuid(),\n data: notebaseRowUpdateDataSchema,\n})\nexport type NotebaseRowUpdateInput = z.infer<typeof NotebaseRowUpdateInputSchema>\n\nexport const NotebaseRowUpdateOutputSchema = z.object({\n id: z.uuid(),\n notebaseId: z.uuid(),\n cells: notebaseRowCellsSchema,\n position: z.number().int(),\n createdAt: z.date(),\n updatedAt: z.date(),\n txid: z.number(),\n})\nexport type NotebaseRowUpdateOutput = z.infer<typeof NotebaseRowUpdateOutputSchema>\n\nexport const NotebaseRowDeleteInputSchema = z.object({\n notebaseRowId: z.uuid(),\n})\nexport type NotebaseRowDeleteInput = z.infer<typeof NotebaseRowDeleteInputSchema>\n\nexport const NotebaseRowDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowDeleteOutput = z.infer<typeof NotebaseRowDeleteOutputSchema>\n\nexport const NotebaseRowReorderInputSchema = z.object({\n notebaseId: z.uuid(),\n ids: z.array(z.uuid()),\n})\nexport type NotebaseRowReorderInput = z.infer<typeof NotebaseRowReorderInputSchema>\n\nexport const NotebaseRowReorderOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseRowReorderOutput = z.infer<typeof NotebaseRowReorderOutputSchema>\n","import { z } from \"zod\"\n\nexport const notebaseViewTypeSchema = z.enum([\"table\", \"kanban\", \"gallery\"])\nexport type NotebaseViewType = z.infer<typeof notebaseViewTypeSchema>\n\nexport const notebaseViewConfigSchema = z.object({\n notebaseColumnWidths: z.record(z.string(), z.number()).optional(),\n hiddenNotebaseColumns: z.array(z.string()).optional(),\n groupByNotebaseColumnId: z.string().optional(),\n}).catchall(z.unknown())\nexport type NotebaseViewConfig = z.infer<typeof notebaseViewConfigSchema>\n\nexport const notebaseViewFilterSchema = z.object({\n notebaseColumnId: z.string(),\n operator: z.string(),\n value: z.unknown(),\n}).strict()\nexport type NotebaseViewFilter = z.infer<typeof notebaseViewFilterSchema>\n\nexport const notebaseViewFiltersSchema = z.array(notebaseViewFilterSchema)\n\nexport const notebaseViewSortSchema = z.object({\n notebaseColumnId: z.string(),\n direction: z.enum([\"asc\", \"desc\"]),\n}).strict()\nexport type NotebaseViewSort = z.infer<typeof notebaseViewSortSchema>\n\nexport const notebaseViewSortsSchema = z.array(notebaseViewSortSchema)\n\nexport const notebaseViewCreateDataSchema = z.object({\n id: z.uuid().optional(),\n name: z.string().min(1),\n type: notebaseViewTypeSchema,\n config: notebaseViewConfigSchema.optional(),\n filters: notebaseViewFiltersSchema.optional(),\n sorts: notebaseViewSortsSchema.optional(),\n}).strict()\nexport type NotebaseViewCreateData = z.infer<typeof notebaseViewCreateDataSchema>\n\nexport const notebaseViewUpdateDataSchema = z.object({\n name: z.string().min(1).optional(),\n type: notebaseViewTypeSchema.optional(),\n config: notebaseViewConfigSchema.optional(),\n filters: notebaseViewFiltersSchema.optional(),\n sorts: notebaseViewSortsSchema.optional(),\n}).strict()\nexport type NotebaseViewUpdateData = z.infer<typeof notebaseViewUpdateDataSchema>\n\nexport const notebaseViewSchema = z.object({\n id: z.string(),\n notebaseId: z.string(),\n name: z.string(),\n type: notebaseViewTypeSchema,\n config: notebaseViewConfigSchema.nullable(),\n filters: z.array(z.unknown()).nullable(),\n sorts: z.array(z.unknown()).nullable(),\n position: z.number(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\nexport type NotebaseView = z.infer<typeof notebaseViewSchema>\n","import { notebaseColumnConfigSchema, schedulingParamsShape, srsWeightsSchema } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\nimport { notebaseColumnSchema } from \"./notebase-column\"\nimport { NOTEBASE_ROW_CREATE_MANY_MAX_ROWS, notebaseRowSchema } from \"./notebase-row\"\nimport { notebaseViewSchema } from \"./notebase-view\"\n\nexport const NotebaseListInputSchema = z.object({})\nexport type NotebaseListInput = z.infer<typeof NotebaseListInputSchema>\n\nexport const NotebaseListItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n})\nexport type NotebaseListItem = z.infer<typeof NotebaseListItemSchema>\n\nexport const NotebaseListOutputSchema = z.array(NotebaseListItemSchema)\nexport type NotebaseListOutput = z.infer<typeof NotebaseListOutputSchema>\n\nexport const notebaseSchema = z.object({\n id: z.string(),\n userId: z.string(),\n name: z.string(),\n srsNewPerDay: schedulingParamsShape.newPerDay,\n srsReviewsPerDay: schedulingParamsShape.reviewsPerDay,\n srsDesiredRetention: schedulingParamsShape.desiredRetention,\n srsEnableShortTerm: schedulingParamsShape.enableShortTerm,\n srsMaximumInterval: schedulingParamsShape.maximumInterval,\n srsLearningSteps: schedulingParamsShape.learningSteps,\n srsRelearningSteps: schedulingParamsShape.relearningSteps,\n srsLeechThreshold: schedulingParamsShape.leechThreshold,\n srsEnableFuzz: schedulingParamsShape.enableFuzz,\n srsWeights: srsWeightsSchema.nullable(),\n createdAt: z.date(),\n updatedAt: z.date(),\n})\nexport type Notebase = z.infer<typeof notebaseSchema>\n\nconst notebaseInitialRowSchema = z.object({\n id: z.uuid().optional(),\n cells: z.record(z.string(), z.unknown()),\n}).strict()\n\nexport const notebaseCreateDataSchema = z.object({\n id: z.uuid().optional(),\n name: z.string().min(1),\n options: z.object({\n initialColumns: z.array(z.object({\n id: z.uuid(),\n name: z.string().min(1),\n config: notebaseColumnConfigSchema,\n }).strict()).min(1),\n initialRow: notebaseInitialRowSchema.optional(),\n initialRows: z.array(notebaseInitialRowSchema).min(1).max(NOTEBASE_ROW_CREATE_MANY_MAX_ROWS).optional(),\n }).strict().superRefine((options, ctx) => {\n if (options.initialRow && options.initialRows) {\n ctx.addIssue({\n code: \"custom\",\n message: \"Provide either initialRow or initialRows, not both.\",\n path: [\"initialRows\"],\n })\n }\n\n if (!options.initialRows) {\n return\n }\n\n const seenIds = new Set<string>()\n options.initialRows.forEach((row, index) => {\n if (row.id === undefined) {\n return\n }\n\n if (seenIds.has(row.id)) {\n ctx.addIssue({\n code: \"custom\",\n message: `Duplicate row id \"${row.id}\".`,\n path: [\"initialRows\", index, \"id\"],\n })\n return\n }\n\n seenIds.add(row.id)\n })\n }).optional(),\n}).strict()\nexport type NotebaseCreateData = z.infer<typeof notebaseCreateDataSchema>\n\nexport const NotebaseCreateInputSchema = notebaseCreateDataSchema\nexport type NotebaseCreateInput = z.infer<typeof NotebaseCreateInputSchema>\n\nexport const NotebaseCreateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseCreateOutput = z.infer<typeof NotebaseCreateOutputSchema>\n\nexport const notebaseUpdateDataSchema = z.object({\n name: z.string().min(1).optional(),\n srsNewPerDay: schedulingParamsShape.newPerDay.optional(),\n srsReviewsPerDay: schedulingParamsShape.reviewsPerDay.optional(),\n}).strict()\nexport type NotebaseUpdateData = z.infer<typeof notebaseUpdateDataSchema>\n\nexport const NotebaseUpdateInputSchema = notebaseUpdateDataSchema.extend({\n id: z.uuid(),\n})\nexport type NotebaseUpdateInput = z.infer<typeof NotebaseUpdateInputSchema>\n\nexport const NotebaseUpdateOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseUpdateOutput = z.infer<typeof NotebaseUpdateOutputSchema>\n\nexport const NotebaseDeleteInputSchema = z.object({\n id: z.uuid(),\n})\nexport type NotebaseDeleteInput = z.infer<typeof NotebaseDeleteInputSchema>\n\nexport const NotebaseDeleteOutputSchema = z.object({\n txid: z.number(),\n})\nexport type NotebaseDeleteOutput = z.infer<typeof NotebaseDeleteOutputSchema>\n\n// Get endpoint schemas\nexport const NotebaseGetInputSchema = z.object({\n id: z.uuid(),\n})\nexport type NotebaseGetInput = z.infer<typeof NotebaseGetInputSchema>\n\nexport const NotebaseGetSchemaInputSchema = z.object({\n id: z.uuid(),\n})\nexport type NotebaseGetSchemaInput = z.infer<typeof NotebaseGetSchemaInputSchema>\n\nexport const NotebaseGetOutputSchema = notebaseSchema.extend({\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n notebaseColumns: z.array(notebaseColumnSchema),\n notebaseRows: z.array(notebaseRowSchema),\n notebaseViews: z.array(notebaseViewSchema),\n})\nexport type NotebaseGetOutput = z.infer<typeof NotebaseGetOutputSchema>\n\nexport const NotebaseGetSchemaOutputSchema = z.object({\n id: z.string(),\n name: z.string(),\n updatedAt: z.coerce.date(),\n notebaseColumns: z.array(notebaseColumnSchema),\n})\nexport type NotebaseGetSchemaOutput = z.infer<typeof NotebaseGetSchemaOutputSchema>\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n NotebaseCreateInputSchema,\n NotebaseCreateOutputSchema,\n NotebaseDeleteInputSchema,\n NotebaseDeleteOutputSchema,\n NotebaseGetInputSchema,\n NotebaseGetOutputSchema,\n NotebaseGetSchemaInputSchema,\n NotebaseGetSchemaOutputSchema,\n NotebaseListInputSchema,\n NotebaseListOutputSchema,\n NotebaseUpdateInputSchema,\n NotebaseUpdateOutputSchema,\n} from \"#/schemas/notebase\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const notebaseContract = {\n list: notebaseProcedure\n .route({\n method: \"GET\",\n path: \"/notebases\",\n summary: \"List notebases\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseListInputSchema)\n .output(NotebaseListOutputSchema),\n\n get: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/notebases/{id}\",\n summary: \"Get notebase with notebase columns, rows, and views\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseGetInputSchema)\n .output(NotebaseGetOutputSchema),\n\n getSchema: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/notebases/{id}/schema\",\n summary: \"Get notebase schema\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseGetSchemaInputSchema)\n .output(NotebaseGetSchemaOutputSchema),\n\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTE_LIMIT_EXCEEDED\", \"CELL_VALIDATION_FAILED\"))\n .route({\n method: \"POST\",\n path: \"/notebases\",\n summary: \"Create notebase\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseCreateInputSchema)\n .output(NotebaseCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"PUT\",\n path: \"/notebases/{id}\",\n summary: \"Update notebase\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseUpdateInputSchema)\n .output(NotebaseUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"DELETE\",\n path: \"/notebases/{id}\",\n summary: \"Delete notebase\",\n tags: [\"Notebases\"],\n })\n .input(NotebaseDeleteInputSchema)\n .output(NotebaseDeleteOutputSchema),\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n NotebaseColumnCreateInputSchema,\n NotebaseColumnCreateOutputSchema,\n NotebaseColumnDeleteInputSchema,\n NotebaseColumnDeleteOutputSchema,\n NotebaseColumnReorderInputSchema,\n NotebaseColumnReorderOutputSchema,\n NotebaseColumnUpdateInputSchema,\n NotebaseColumnUpdateOutputSchema,\n} from \"#/schemas/notebase-column\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const notebaseColumnContract = {\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"POST\",\n path: \"/notebase-columns\",\n summary: \"Create notebase column\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnCreateInputSchema)\n .output(NotebaseColumnCreateOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_COLUMN_NOT_FOUND\"))\n .route({\n method: \"PATCH\",\n path: \"/notebase-columns/{notebaseColumnId}\",\n summary: \"Update notebase column\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnUpdateInputSchema)\n .output(NotebaseColumnUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"NOTEBASE_COLUMN_NOT_FOUND\",\n \"PRIMARY_NOTEBASE_COLUMN_DELETE_NOT_ALLOWED\",\n \"CARD_TEMPLATE_NOTEBASE_COLUMN_IN_USE\",\n \"CONCURRENT_POSITION_CONFLICT\",\n ))\n .route({\n method: \"DELETE\",\n path: \"/notebase-columns/{notebaseColumnId}\",\n summary: \"Delete notebase column\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnDeleteInputSchema)\n .output(NotebaseColumnDeleteOutputSchema),\n\n reorder: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"POST\",\n path: \"/notebase-columns/reorder\",\n summary: \"Reorder notebase columns\",\n tags: [\"Notebase Columns\"],\n })\n .input(NotebaseColumnReorderInputSchema)\n .output(NotebaseColumnReorderOutputSchema),\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n NotebaseRowCreateInputSchema,\n NotebaseRowCreateManyInputSchema,\n NotebaseRowCreateManyOutputSchema,\n NotebaseRowCreateOutputSchema,\n NotebaseRowDeleteInputSchema,\n NotebaseRowDeleteOutputSchema,\n NotebaseRowReorderInputSchema,\n NotebaseRowReorderOutputSchema,\n NotebaseRowUpdateInputSchema,\n NotebaseRowUpdateOutputSchema,\n} from \"#/schemas/notebase-row\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const notebaseRowContract = {\n create: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"NOTEBASE_NOT_FOUND\",\n \"CELL_VALIDATION_FAILED\",\n \"CONCURRENT_POSITION_CONFLICT\",\n \"NOTE_LIMIT_EXCEEDED\",\n ))\n .route({\n method: \"POST\",\n path: \"/notebase-rows\",\n summary: \"Create notebase row\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowCreateInputSchema)\n .output(NotebaseRowCreateOutputSchema),\n\n createMany: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"NOTEBASE_NOT_FOUND\",\n \"CELL_VALIDATION_FAILED\",\n \"CONCURRENT_POSITION_CONFLICT\",\n \"NOTE_LIMIT_EXCEEDED\",\n ))\n .route({\n method: \"POST\",\n path: \"/notebase-rows/batch\",\n summary: \"Create notebase rows in a single transaction\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowCreateManyInputSchema)\n .output(NotebaseRowCreateManyOutputSchema),\n\n update: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_ROW_NOT_FOUND\", \"CELL_VALIDATION_FAILED\"))\n .route({\n method: \"PATCH\",\n path: \"/notebase-rows/{notebaseRowId}\",\n summary: \"Update notebase row cells\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowUpdateInputSchema)\n .output(NotebaseRowUpdateOutputSchema),\n\n delete: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_ROW_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"DELETE\",\n path: \"/notebase-rows/{notebaseRowId}\",\n summary: \"Delete notebase row\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowDeleteInputSchema)\n .output(NotebaseRowDeleteOutputSchema),\n\n reorder: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\", \"CONCURRENT_POSITION_CONFLICT\"))\n .route({\n method: \"POST\",\n path: \"/notebase-rows/reorder\",\n summary: \"Reorder notebase rows\",\n tags: [\"Notebase Rows\"],\n })\n .input(NotebaseRowReorderInputSchema)\n .output(NotebaseRowReorderOutputSchema),\n}\n","import { z } from \"zod\"\n\n// @ref https://zenn.dev/herp_inc/articles/js-intl-date-time-format-performance\nconst localeTimeZoneFormatter = new Map<string, Intl.DateTimeFormat>()\nfunction createTimezoneFormatter(timezone: string): Intl.DateTimeFormat {\n let formatter = localeTimeZoneFormatter.get(timezone)\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(\"en-US\", { timeZone: timezone })\n localeTimeZoneFormatter.set(timezone, formatter)\n }\n return formatter\n}\n\nexport const timezoneSchema = z.string().trim().min(1).refine((timezone) => {\n try {\n createTimezoneFormatter(timezone).format(new Date())\n return true\n }\n catch {\n return false\n }\n}, \"Invalid timezone\")\nexport type Timezone = z.infer<typeof timezoneSchema>\n","import {\n activeScheduleStatusSchema,\n cardStateSchema,\n fsrsReviewLogSnapshotSchema,\n reviewRatingSchema,\n scheduleStatusSchema,\n schedulingParamsSchema,\n SRS_REVIEW_DURATION_MS_MAX,\n srsStepSchema,\n} from \"@read-frog/definitions\"\nimport { z } from \"zod\"\nimport { cardSchema } from \"./card\"\nimport { timezoneSchema } from \"./timezone\"\n\nexport {\n reviewRatingSchema,\n schedulingParamsSchema,\n SRS_REVIEW_DURATION_MS_MAX,\n}\nexport { timezoneSchema } from \"./timezone\"\nexport type { Timezone } from \"./timezone\"\nexport type { ReviewRating, SchedulingParams } from \"@read-frog/definitions\"\n\nexport const stepSchema = srsStepSchema\nexport type Step = z.infer<typeof stepSchema>\n\nexport const SRS_REVIEW_CLIENT_ID_NAMESPACE = \"6ba7b811-9dad-11d1-80b4-00c04fd430c8\"\nconst srsReviewClientIdNamePrefix = \"readfrog:srs-review\"\nconst nullLastReviewTimeSentinel = \"null\"\n\nexport interface SrsReviewClientIdCard {\n id: string\n lastReviewTime: Date | string | null\n}\n\nexport async function createSrsReviewClientId(card: SrsReviewClientIdCard) {\n return uuidV5(\n `${srsReviewClientIdNamePrefix}:${card.id}:${formatLastReviewTime(card.lastReviewTime)}`,\n SRS_REVIEW_CLIENT_ID_NAMESPACE,\n )\n}\n\nexport const srsReviewInputSchema = z.object({\n cardId: z.uuid(),\n id: z.uuid().optional(),\n rating: reviewRatingSchema,\n durationMs: z.number().int().min(0).max(SRS_REVIEW_DURATION_MS_MAX),\n timezone: timezoneSchema,\n}).strict()\nexport type SrsReviewInput = z.infer<typeof srsReviewInputSchema>\n\nexport const srsRollbackReviewInputSchema = z.object({\n cardId: z.uuid(),\n}).strict()\nexport type SrsRollbackReviewInput = z.infer<typeof srsRollbackReviewInputSchema>\n\nexport const srsScheduleStatusStatsSchema = z.record(\n activeScheduleStatusSchema,\n z.number().int().min(0),\n)\nexport type SrsScheduleStatusStats = z.infer<typeof srsScheduleStatusStatsSchema>\n\nexport const srsScheduleStatusStatsInputSchema = z.object({\n notebaseIds: z.array(z.uuid()).optional(),\n timezone: timezoneSchema,\n}).strict()\nexport type SrsScheduleStatusStatsInput = z.infer<typeof srsScheduleStatusStatsInputSchema>\n\nexport const srsScheduleStatusStatsOutputSchema = z.record(\n z.uuid(),\n srsScheduleStatusStatsSchema,\n)\nexport type SrsScheduleStatusStatsOutput = z.infer<typeof srsScheduleStatusStatsOutputSchema>\n\nexport const srsManualCardStatusInputSchema = z.object({\n cardId: z.uuid(),\n enabled: z.boolean(),\n}).strict()\nexport type SrsManualCardStatusInput = z.infer<typeof srsManualCardStatusInputSchema>\n\nexport const srsSetCardBuriedInputSchema = srsManualCardStatusInputSchema\nexport type SrsSetCardBuriedInput = SrsManualCardStatusInput\n\nexport const srsSetCardSuspendedInputSchema = srsManualCardStatusInputSchema\nexport type SrsSetCardSuspendedInput = SrsManualCardStatusInput\n\nexport const srsRevlogSchema = z.object({\n id: z.uuid(),\n notebaseId: z.uuid(),\n cardId: z.uuid(),\n rating: reviewRatingSchema,\n state: cardStateSchema,\n afterScheduleStatus: scheduleStatusSchema,\n reviewedAt: z.coerce.date(),\n durationMs: z.number().int(),\n fsrsReviewLogSnapshot: fsrsReviewLogSnapshotSchema,\n createdAt: z.coerce.date(),\n})\nexport type SrsRevlog = z.infer<typeof srsRevlogSchema>\n\nexport const srsRevlogWithoutSnapshotSchema = srsRevlogSchema.omit({\n fsrsReviewLogSnapshot: true,\n})\nexport type SrsRevlogWithoutSnapshot = z.infer<typeof srsRevlogWithoutSnapshotSchema>\n\nexport const srsReviewOutputSchema = z.object({\n card: cardSchema,\n revlog: srsRevlogSchema,\n txid: z.number(),\n // False when an idempotent replay returned an existing revlog instead of creating one.\n created: z.boolean(),\n})\nexport type SrsReviewOutput = z.infer<typeof srsReviewOutputSchema>\n\nexport const srsRollbackReviewOutputSchema = z.object({\n card: cardSchema,\n rolledBackRevlogId: z.uuid(),\n txid: z.number(),\n})\nexport type SrsRollbackReviewOutput = z.infer<typeof srsRollbackReviewOutputSchema>\n\nexport const srsTxidOutputSchema = z.object({\n txid: z.number(),\n})\nexport type SrsTxidOutput = z.infer<typeof srsTxidOutputSchema>\n\nexport const srsSetCardBuriedOutputSchema = srsTxidOutputSchema\nexport type SrsSetCardBuriedOutput = SrsTxidOutput\n\nexport const srsSetCardSuspendedOutputSchema = srsTxidOutputSchema\nexport type SrsSetCardSuspendedOutput = SrsTxidOutput\n\nfunction formatLastReviewTime(lastReviewTime: Date | string | null) {\n return lastReviewTime ? new Date(lastReviewTime).toISOString() : nullLastReviewTimeSentinel\n}\n\nasync function uuidV5(name: string, namespace: string) {\n const namespaceBytes = uuidToBytes(namespace)\n const nameBytes = new TextEncoder().encode(name)\n const input = new Uint8Array(namespaceBytes.length + nameBytes.length)\n input.set(namespaceBytes)\n input.set(nameBytes, namespaceBytes.length)\n\n const hash = new Uint8Array(await crypto.subtle.digest(\"SHA-1\", input))\n const bytes = hash.slice(0, 16)\n const versionByte = bytes[6]\n const variantByte = bytes[8]\n if (versionByte === undefined || variantByte === undefined) {\n throw new Error(\"SHA-1 digest was too short\")\n }\n bytes[6] = (versionByte & 0x0F) | 0x50\n bytes[8] = (variantByte & 0x3F) | 0x80\n\n return bytesToUuid(bytes)\n}\n\nfunction uuidToBytes(uuid: string) {\n const hex = uuid.replaceAll(\"-\", \"\").toLowerCase()\n /* v8 ignore next 3 -- SRS_REVIEW_CLIENT_ID_NAMESPACE is a fixed valid UUID. */\n if (!/^[0-9a-f]{32}$/.test(hex)) {\n throw new Error(\"Invalid UUID namespace\")\n }\n\n return new Uint8Array(\n Array.from({ length: 16 }, (_, index) =>\n Number.parseInt(hex.slice(index * 2, index * 2 + 2), 16)),\n )\n}\n\nfunction bytesToUuid(bytes: Uint8Array) {\n const hex = Array.from(bytes, byte => byte.toString(16).padStart(2, \"0\"))\n return [\n hex.slice(0, 4).join(\"\"),\n hex.slice(4, 6).join(\"\"),\n hex.slice(6, 8).join(\"\"),\n hex.slice(8, 10).join(\"\"),\n hex.slice(10, 16).join(\"\"),\n ].join(\"-\")\n}\n","import { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n srsReviewInputSchema,\n srsReviewOutputSchema,\n srsRollbackReviewInputSchema,\n srsRollbackReviewOutputSchema,\n srsScheduleStatusStatsInputSchema,\n srsScheduleStatusStatsOutputSchema,\n srsSetCardBuriedInputSchema,\n srsSetCardBuriedOutputSchema,\n srsSetCardSuspendedInputSchema,\n srsSetCardSuspendedOutputSchema,\n} from \"#/schemas/srs\"\nimport { notebaseProcedure } from \"./shared\"\n\nexport const srsContract = {\n scheduleStatusStats: notebaseProcedure\n .errors(pickPublicErrorMap(\"NOTEBASE_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/srs/schedule-status-stats\",\n summary: \"List today schedule status stats for notebases\",\n tags: [\"SRS\"],\n })\n .input(srsScheduleStatusStatsInputSchema)\n .output(srsScheduleStatusStatsOutputSchema),\n\n review: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_NOT_REVIEWABLE\",\n \"CARD_REVIEW_STATE_STALE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/review\",\n summary: \"Review a card with SRS scheduling\",\n tags: [\"SRS\"],\n })\n .input(srsReviewInputSchema)\n .output(srsReviewOutputSchema),\n rollbackReview: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_REVIEW_ROLLBACK_UNAVAILABLE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/review/rollback\",\n summary: \"Roll back the latest SRS review for a card\",\n tags: [\"SRS\"],\n })\n .input(srsRollbackReviewInputSchema)\n .output(srsRollbackReviewOutputSchema),\n setCardBuried: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_ALREADY_BURIED\",\n \"CARD_NOT_BURIED\",\n \"CARD_STATUS_CHANGE_UNAVAILABLE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/card/bury\",\n summary: \"Manually bury or unbury a card\",\n tags: [\"SRS\"],\n })\n .input(srsSetCardBuriedInputSchema)\n .output(srsSetCardBuriedOutputSchema),\n setCardSuspended: notebaseProcedure\n .errors(pickPublicErrorMap(\n \"CARD_NOT_FOUND\",\n \"CARD_ALREADY_SUSPENDED\",\n \"CARD_NOT_SUSPENDED\",\n \"CARD_STATUS_CHANGE_UNAVAILABLE\",\n ))\n .route({\n method: \"POST\",\n path: \"/srs/card/suspend\",\n summary: \"Manually suspend or unsuspend a card\",\n tags: [\"SRS\"],\n })\n .input(srsSetCardSuspendedInputSchema)\n .output(srsSetCardSuspendedOutputSchema),\n}\n","import { z } from \"zod\"\nimport { timezoneSchema } from \"./timezone\"\n\nexport const userEnsureTimezoneInputSchema = z.object({\n timezone: timezoneSchema,\n}).strict()\nexport type UserEnsureTimezoneInput = z.infer<typeof userEnsureTimezoneInputSchema>\n\nexport const userEnsureTimezoneOutputSchema = z.object({\n timezone: timezoneSchema,\n updated: z.boolean(),\n}).strict()\nexport type UserEnsureTimezoneOutput = z.infer<typeof userEnsureTimezoneOutputSchema>\n\nexport const userUpdateTimezoneInputSchema = z.object({\n timezone: timezoneSchema,\n}).strict()\nexport type UserUpdateTimezoneInput = z.infer<typeof userUpdateTimezoneInputSchema>\n\nexport const userUpdateTimezoneOutputSchema = z.object({\n timezone: timezoneSchema,\n}).strict()\nexport type UserUpdateTimezoneOutput = z.infer<typeof userUpdateTimezoneOutputSchema>\n","import { oc } from \"@orpc/contract\"\nimport {\n userEnsureTimezoneInputSchema,\n userEnsureTimezoneOutputSchema,\n userUpdateTimezoneInputSchema,\n userUpdateTimezoneOutputSchema,\n} from \"#/schemas/user\"\n\nexport const userContract = {\n ensureTimezone: oc\n .route({\n method: \"POST\",\n path: \"/users/me/timezone/ensure\",\n summary: \"Ensure the authenticated user has a timezone\",\n tags: [\"Users\"],\n })\n .input(userEnsureTimezoneInputSchema)\n .output(userEnsureTimezoneOutputSchema),\n updateTimezone: oc\n .route({\n method: \"PATCH\",\n path: \"/users/me/timezone\",\n summary: \"Update the authenticated user's timezone\",\n tags: [\"Users\"],\n })\n .input(userUpdateTimezoneInputSchema)\n .output(userUpdateTimezoneOutputSchema),\n}\n","import { transcriptSegmentSchema } from \"@read-frog/definitions\"\nimport { z } from \"zod\"\n\nexport const videoTranscriptStatusSchema = z.enum([\n \"pending\",\n \"processing\",\n \"completed\",\n \"failed\",\n])\nexport type VideoTranscriptStatus = z.infer<typeof videoTranscriptStatusSchema>\n\n// The transcript \"job\" resource: status + metadata, without the (heavy) segments payload.\nexport const videoTranscriptResourceSchema = z.object({\n id: z.string(),\n platform: z.string(),\n videoId: z.string(),\n url: z.string(),\n status: videoTranscriptStatusSchema,\n title: z.string().nullable(),\n durationSec: z.number().nullable(),\n detectedLanguage: z.string().nullable(),\n error: z.string().nullable(),\n createdAt: z.date(),\n updatedAt: z.date(),\n})\nexport type VideoTranscriptResource = z.infer<typeof videoTranscriptResourceSchema>\n\n// The subtitles sub-resource: the segments + model-detected language, only available once completed.\nexport const videoTranscriptSubtitlesSchema = z.object({\n id: z.string(),\n detectedLanguage: z.string().nullable(),\n segments: z.array(transcriptSegmentSchema),\n})\nexport type VideoTranscriptSubtitles = z.infer<typeof videoTranscriptSubtitlesSchema>\n\nexport const videoTranscriptCreateInputSchema = z.object({\n platform: z.string(),\n videoId: z.string(),\n url: z.string().url(),\n}).strict()\nexport type VideoTranscriptCreateInput = z.infer<typeof videoTranscriptCreateInputSchema>\n\nexport const videoTranscriptGetInputSchema = z.object({\n id: z.uuid(),\n}).strict()\nexport type VideoTranscriptGetInput = z.infer<typeof videoTranscriptGetInputSchema>\n\n// The caller's monthly transcription usage against the beta quota.\nexport const videoTranscriptUsageSchema = z.object({\n usedMinutes: z.number().int(),\n limitMinutes: z.number().int(),\n remainingMinutes: z.number().int(),\n})\nexport type VideoTranscriptUsage = z.infer<typeof videoTranscriptUsageSchema>\n","import { oc } from \"@orpc/contract\"\nimport { pickPublicErrorMap } from \"#/public-errors\"\nimport {\n videoTranscriptCreateInputSchema,\n videoTranscriptGetInputSchema,\n videoTranscriptResourceSchema,\n videoTranscriptSubtitlesSchema,\n videoTranscriptUsageSchema,\n} from \"#/schemas/video-transcript\"\n\nexport const videoTranscriptContract = {\n create: oc\n .errors(pickPublicErrorMap(\"VIDEO_TRANSCRIPTION_QUOTA_EXCEEDED\"))\n .route({\n method: \"POST\",\n path: \"/video-transcripts\",\n summary: \"Create or reuse a video transcription job\",\n tags: [\"Video Transcription\"],\n })\n .input(videoTranscriptCreateInputSchema)\n .output(videoTranscriptResourceSchema),\n getUsage: oc\n .route({\n method: \"GET\",\n path: \"/video-transcripts/usage\",\n summary: \"Get the caller's monthly transcription quota usage\",\n tags: [\"Video Transcription\"],\n })\n .output(videoTranscriptUsageSchema),\n get: oc\n .errors(pickPublicErrorMap(\"VIDEO_TRANSCRIPT_NOT_FOUND\"))\n .route({\n method: \"GET\",\n path: \"/video-transcripts/{id}\",\n summary: \"Get a video transcription job's status\",\n tags: [\"Video Transcription\"],\n })\n .input(videoTranscriptGetInputSchema)\n .output(videoTranscriptResourceSchema),\n getSubtitles: oc\n .errors(pickPublicErrorMap(\"VIDEO_TRANSCRIPT_NOT_FOUND\", \"VIDEO_TRANSCRIPT_NOT_READY\"))\n .route({\n method: \"GET\",\n path: \"/video-transcripts/{id}/subtitles\",\n summary: \"Get a completed video transcript's subtitles\",\n tags: [\"Video Transcription\"],\n })\n .input(videoTranscriptGetInputSchema)\n .output(videoTranscriptSubtitlesSchema),\n}\n","import type { ContractRouterClient } from \"@orpc/contract\"\nimport { betaAccessContract } from \"./contracts/beta-access\"\nimport { billingContract } from \"./contracts/billing\"\nimport { cardContract } from \"./contracts/card\"\nimport { cardTemplateContract } from \"./contracts/card-template\"\nimport { hostedAiContract } from \"./contracts/hosted-ai\"\nimport { notebaseContract } from \"./contracts/notebase\"\nimport { notebaseColumnContract } from \"./contracts/notebase-column\"\nimport { notebaseRowContract } from \"./contracts/notebase-row\"\nimport { srsContract } from \"./contracts/srs\"\nimport { userContract } from \"./contracts/user\"\nimport { videoTranscriptContract } from \"./contracts/video-transcript\"\n\nexport const contract = {\n betaAccess: betaAccessContract,\n billing: billingContract,\n card: cardContract,\n cardTemplate: cardTemplateContract,\n hostedAi: hostedAiContract,\n notebase: notebaseContract,\n notebaseColumn: notebaseColumnContract,\n notebaseRow: notebaseRowContract,\n srs: srsContract,\n user: userContract,\n videoTranscript: videoTranscriptContract,\n}\n\nexport type ORPCRouterClient = ContractRouterClient<typeof contract>\n\nexport * from \"./public-errors\"\nexport * from \"./schemas/beta-access\"\nexport * from \"./schemas/billing\"\nexport * from \"./schemas/card\"\nexport * from \"./schemas/hosted-ai\"\nexport * from \"./schemas/notebase\"\nexport * from \"./schemas/notebase-column\"\nexport * from \"./schemas/notebase-row\"\nexport * from \"./schemas/notebase-view\"\nexport * from \"./schemas/srs\"\nexport * from \"./schemas/timezone\"\nexport * from \"./schemas/user\"\nexport * from \"./schemas/video-transcript\"\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@read-frog/api-contract",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.10.1",
|
|
5
5
|
"private": false,
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^26.1.0",
|
|
33
33
|
"tsdown": "^0.22.3",
|
|
34
|
-
"@repo/
|
|
34
|
+
"@repo/eslint-config": "0.0.1",
|
|
35
35
|
"@repo/tsdown-config": "0.0.0",
|
|
36
|
-
"@repo/
|
|
36
|
+
"@repo/typescript-config": "0.0.0"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "tsdown",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract"
|
|
2
2
|
import {
|
|
3
|
+
HostedAiNoteSuggestionStreamInputSchema,
|
|
3
4
|
HostedAiStreamPartSchema,
|
|
4
5
|
HostedAiStreamStructuredObjectInputSchema,
|
|
5
6
|
HostedAiStreamTextInputSchema,
|
|
@@ -28,4 +29,15 @@ export const hostedAiContract = {
|
|
|
28
29
|
.input(HostedAiStreamStructuredObjectInputSchema)
|
|
29
30
|
.output(eventIterator(HostedAiStreamPartSchema)),
|
|
30
31
|
},
|
|
32
|
+
noteSuggestion: {
|
|
33
|
+
streamStructuredObject: oc
|
|
34
|
+
.route({
|
|
35
|
+
method: "POST",
|
|
36
|
+
path: "/hosted-ai/note-suggestions/stream-structured-object",
|
|
37
|
+
summary: "Stream hosted note suggestion structured output",
|
|
38
|
+
tags: ["Hosted AI"],
|
|
39
|
+
})
|
|
40
|
+
.input(HostedAiNoteSuggestionStreamInputSchema)
|
|
41
|
+
.output(eventIterator(HostedAiStreamPartSchema)),
|
|
42
|
+
},
|
|
31
43
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { pickPublicErrorMap } from "#/public-errors"
|
|
2
2
|
import {
|
|
3
3
|
NotebaseRowCreateInputSchema,
|
|
4
|
+
NotebaseRowCreateManyInputSchema,
|
|
5
|
+
NotebaseRowCreateManyOutputSchema,
|
|
4
6
|
NotebaseRowCreateOutputSchema,
|
|
5
7
|
NotebaseRowDeleteInputSchema,
|
|
6
8
|
NotebaseRowDeleteOutputSchema,
|
|
@@ -28,6 +30,22 @@ export const notebaseRowContract = {
|
|
|
28
30
|
.input(NotebaseRowCreateInputSchema)
|
|
29
31
|
.output(NotebaseRowCreateOutputSchema),
|
|
30
32
|
|
|
33
|
+
createMany: notebaseProcedure
|
|
34
|
+
.errors(pickPublicErrorMap(
|
|
35
|
+
"NOTEBASE_NOT_FOUND",
|
|
36
|
+
"CELL_VALIDATION_FAILED",
|
|
37
|
+
"CONCURRENT_POSITION_CONFLICT",
|
|
38
|
+
"NOTE_LIMIT_EXCEEDED",
|
|
39
|
+
))
|
|
40
|
+
.route({
|
|
41
|
+
method: "POST",
|
|
42
|
+
path: "/notebase-rows/batch",
|
|
43
|
+
summary: "Create notebase rows in a single transaction",
|
|
44
|
+
tags: ["Notebase Rows"],
|
|
45
|
+
})
|
|
46
|
+
.input(NotebaseRowCreateManyInputSchema)
|
|
47
|
+
.output(NotebaseRowCreateManyOutputSchema),
|
|
48
|
+
|
|
31
49
|
update: notebaseProcedure
|
|
32
50
|
.errors(pickPublicErrorMap("NOTEBASE_ROW_NOT_FOUND", "CELL_VALIDATION_FAILED"))
|
|
33
51
|
.route({
|
|
@@ -49,7 +49,7 @@ export const notebaseContract = {
|
|
|
49
49
|
.output(NotebaseGetSchemaOutputSchema),
|
|
50
50
|
|
|
51
51
|
create: notebaseProcedure
|
|
52
|
-
.errors(pickPublicErrorMap("NOTE_LIMIT_EXCEEDED"))
|
|
52
|
+
.errors(pickPublicErrorMap("NOTE_LIMIT_EXCEEDED", "CELL_VALIDATION_FAILED"))
|
|
53
53
|
.route({
|
|
54
54
|
method: "POST",
|
|
55
55
|
path: "/notebases",
|
package/src/public-errors.ts
CHANGED
|
@@ -28,6 +28,8 @@ export const CellValidationFailedDataSchema = z.object({
|
|
|
28
28
|
notebaseColumnId: z.string(),
|
|
29
29
|
details: CellValidationFailureDetailsSchema,
|
|
30
30
|
reason: CellValidationFailureReasonSchema,
|
|
31
|
+
/** Index of the failing row within a batch input (createMany / initialRows). */
|
|
32
|
+
rowIndex: z.number().int().min(0).optional(),
|
|
31
33
|
}).strict()
|
|
32
34
|
export type CellValidationFailedData = z.infer<typeof CellValidationFailedDataSchema>
|
|
33
35
|
|
package/src/schemas/hosted-ai.ts
CHANGED
|
@@ -64,6 +64,47 @@ export const HostedAiStreamStructuredObjectInputSchema = z.strictObject({
|
|
|
64
64
|
})
|
|
65
65
|
})
|
|
66
66
|
|
|
67
|
+
export const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES = 2
|
|
68
|
+
export const HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS = 16
|
|
69
|
+
|
|
70
|
+
export const HostedAiNoteSuggestionStreamInputSchema = z.strictObject({
|
|
71
|
+
instructions: HostedAiInstructionsSchema,
|
|
72
|
+
prompt: z.string().trim().min(1).max(32000),
|
|
73
|
+
temperature: z.number().min(0).max(2).optional(),
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Fixed structured-output schema for hosted note suggestions. Must stay
|
|
78
|
+
* strict-structured-outputs-safe: strict objects only, no records, no
|
|
79
|
+
* `.optional()` (nullable-only), unions limited to primitives. If the upstream
|
|
80
|
+
* deployment rejects `maxItems`/`maxLength` constraint keywords, strip the
|
|
81
|
+
* `.max()` calls from the model-facing copy only — clients still validate
|
|
82
|
+
* against this schema.
|
|
83
|
+
*/
|
|
84
|
+
export const HostedAiNoteSuggestionObjectSchema = z.strictObject({
|
|
85
|
+
action: z.strictObject({
|
|
86
|
+
createNewDictionaryAction: z.boolean(),
|
|
87
|
+
targetActionId: z.string().max(128).nullable(),
|
|
88
|
+
/**
|
|
89
|
+
* Name of the chosen schema's field whose value best works as a one-line
|
|
90
|
+
* explanation of the term in UI (usually a definition/meaning field);
|
|
91
|
+
* null when no field fits. Purely a display hint — clients sanitize it
|
|
92
|
+
* and fall back to their own ordering when invalid.
|
|
93
|
+
*/
|
|
94
|
+
summaryFieldName: z.string().max(80).nullable(),
|
|
95
|
+
}),
|
|
96
|
+
notes: z.array(
|
|
97
|
+
z.strictObject({
|
|
98
|
+
fields: z.array(
|
|
99
|
+
z.strictObject({
|
|
100
|
+
name: z.string().max(80),
|
|
101
|
+
value: z.union([z.string(), z.number()]).nullable(),
|
|
102
|
+
}),
|
|
103
|
+
).max(HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS),
|
|
104
|
+
}),
|
|
105
|
+
).max(HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES),
|
|
106
|
+
})
|
|
107
|
+
|
|
67
108
|
export const HostedAiStreamPartSchema = z.looseObject({
|
|
68
109
|
type: z.string().trim().min(1),
|
|
69
110
|
})
|
|
@@ -72,4 +113,6 @@ export type HostedAiOutputFieldType = z.infer<typeof HostedAiOutputFieldTypeSche
|
|
|
72
113
|
export type HostedAiOutputField = z.infer<typeof HostedAiOutputFieldSchema>
|
|
73
114
|
export type HostedAiStreamTextInput = z.infer<typeof HostedAiStreamTextInputSchema>
|
|
74
115
|
export type HostedAiStreamStructuredObjectInput = z.infer<typeof HostedAiStreamStructuredObjectInputSchema>
|
|
116
|
+
export type HostedAiNoteSuggestionStreamInput = z.infer<typeof HostedAiNoteSuggestionStreamInputSchema>
|
|
117
|
+
export type HostedAiNoteSuggestionObject = z.infer<typeof HostedAiNoteSuggestionObjectSchema>
|
|
75
118
|
export type HostedAiStreamPart = z.infer<typeof HostedAiStreamPartSchema>
|
|
@@ -34,6 +34,38 @@ export const NotebaseRowCreateOutputSchema = z.object({
|
|
|
34
34
|
})
|
|
35
35
|
export type NotebaseRowCreateOutput = z.infer<typeof NotebaseRowCreateOutputSchema>
|
|
36
36
|
|
|
37
|
+
export const NOTEBASE_ROW_CREATE_MANY_MAX_ROWS = 50
|
|
38
|
+
|
|
39
|
+
export const NotebaseRowCreateManyInputSchema = z.object({
|
|
40
|
+
notebaseId: z.uuid(),
|
|
41
|
+
rows: z.array(notebaseRowCreateDataSchema).min(1).max(NOTEBASE_ROW_CREATE_MANY_MAX_ROWS),
|
|
42
|
+
}).superRefine((input, ctx) => {
|
|
43
|
+
const seenIds = new Set<string>()
|
|
44
|
+
|
|
45
|
+
input.rows.forEach((row, index) => {
|
|
46
|
+
if (row.id === undefined) {
|
|
47
|
+
return
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (seenIds.has(row.id)) {
|
|
51
|
+
ctx.addIssue({
|
|
52
|
+
code: "custom",
|
|
53
|
+
message: `Duplicate row id "${row.id}".`,
|
|
54
|
+
path: ["rows", index, "id"],
|
|
55
|
+
})
|
|
56
|
+
return
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
seenIds.add(row.id)
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
export type NotebaseRowCreateManyInput = z.infer<typeof NotebaseRowCreateManyInputSchema>
|
|
63
|
+
|
|
64
|
+
export const NotebaseRowCreateManyOutputSchema = z.object({
|
|
65
|
+
txid: z.number(),
|
|
66
|
+
})
|
|
67
|
+
export type NotebaseRowCreateManyOutput = z.infer<typeof NotebaseRowCreateManyOutputSchema>
|
|
68
|
+
|
|
37
69
|
export const NotebaseRowUpdateInputSchema = z.object({
|
|
38
70
|
notebaseRowId: z.uuid(),
|
|
39
71
|
data: notebaseRowUpdateDataSchema,
|
package/src/schemas/notebase.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { notebaseColumnConfigSchema, schedulingParamsShape, srsWeightsSchema } from "@read-frog/definitions"
|
|
2
2
|
import { z } from "zod"
|
|
3
3
|
import { notebaseColumnSchema } from "./notebase-column"
|
|
4
|
-
import { notebaseRowSchema } from "./notebase-row"
|
|
4
|
+
import { NOTEBASE_ROW_CREATE_MANY_MAX_ROWS, notebaseRowSchema } from "./notebase-row"
|
|
5
5
|
import { notebaseViewSchema } from "./notebase-view"
|
|
6
6
|
|
|
7
7
|
export const NotebaseListInputSchema = z.object({})
|
|
@@ -35,6 +35,11 @@ export const notebaseSchema = z.object({
|
|
|
35
35
|
})
|
|
36
36
|
export type Notebase = z.infer<typeof notebaseSchema>
|
|
37
37
|
|
|
38
|
+
const notebaseInitialRowSchema = z.object({
|
|
39
|
+
id: z.uuid().optional(),
|
|
40
|
+
cells: z.record(z.string(), z.unknown()),
|
|
41
|
+
}).strict()
|
|
42
|
+
|
|
38
43
|
export const notebaseCreateDataSchema = z.object({
|
|
39
44
|
id: z.uuid().optional(),
|
|
40
45
|
name: z.string().min(1),
|
|
@@ -44,11 +49,39 @@ export const notebaseCreateDataSchema = z.object({
|
|
|
44
49
|
name: z.string().min(1),
|
|
45
50
|
config: notebaseColumnConfigSchema,
|
|
46
51
|
}).strict()).min(1),
|
|
47
|
-
initialRow:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
initialRow: notebaseInitialRowSchema.optional(),
|
|
53
|
+
initialRows: z.array(notebaseInitialRowSchema).min(1).max(NOTEBASE_ROW_CREATE_MANY_MAX_ROWS).optional(),
|
|
54
|
+
}).strict().superRefine((options, ctx) => {
|
|
55
|
+
if (options.initialRow && options.initialRows) {
|
|
56
|
+
ctx.addIssue({
|
|
57
|
+
code: "custom",
|
|
58
|
+
message: "Provide either initialRow or initialRows, not both.",
|
|
59
|
+
path: ["initialRows"],
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (!options.initialRows) {
|
|
64
|
+
return
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const seenIds = new Set<string>()
|
|
68
|
+
options.initialRows.forEach((row, index) => {
|
|
69
|
+
if (row.id === undefined) {
|
|
70
|
+
return
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (seenIds.has(row.id)) {
|
|
74
|
+
ctx.addIssue({
|
|
75
|
+
code: "custom",
|
|
76
|
+
message: `Duplicate row id "${row.id}".`,
|
|
77
|
+
path: ["initialRows", index, "id"],
|
|
78
|
+
})
|
|
79
|
+
return
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
seenIds.add(row.id)
|
|
83
|
+
})
|
|
84
|
+
}).optional(),
|
|
52
85
|
}).strict()
|
|
53
86
|
export type NotebaseCreateData = z.infer<typeof notebaseCreateDataSchema>
|
|
54
87
|
|