@read-frog/api-contract 0.9.4 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +81 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -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 +36 -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,33 @@ 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
|
+
}, z.core.$strict>;
|
|
737
|
+
notes: z.ZodArray<z.ZodObject<{
|
|
738
|
+
fields: z.ZodArray<z.ZodObject<{
|
|
739
|
+
name: z.ZodString;
|
|
740
|
+
value: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
741
|
+
}, z.core.$strict>>;
|
|
742
|
+
}, z.core.$strict>>;
|
|
743
|
+
}, z.core.$strict>;
|
|
714
744
|
declare const HostedAiStreamPartSchema: z.ZodObject<{
|
|
715
745
|
type: z.ZodString;
|
|
716
746
|
}, z.core.$loose>;
|
|
@@ -718,6 +748,8 @@ type HostedAiOutputFieldType = z.infer<typeof HostedAiOutputFieldTypeSchema>;
|
|
|
718
748
|
type HostedAiOutputField = z.infer<typeof HostedAiOutputFieldSchema>;
|
|
719
749
|
type HostedAiStreamTextInput = z.infer<typeof HostedAiStreamTextInputSchema>;
|
|
720
750
|
type HostedAiStreamStructuredObjectInput = z.infer<typeof HostedAiStreamStructuredObjectInputSchema>;
|
|
751
|
+
type HostedAiNoteSuggestionStreamInput = z.infer<typeof HostedAiNoteSuggestionStreamInputSchema>;
|
|
752
|
+
type HostedAiNoteSuggestionObject = z.infer<typeof HostedAiNoteSuggestionObjectSchema>;
|
|
721
753
|
type HostedAiStreamPart = z.infer<typeof HostedAiStreamPartSchema>;
|
|
722
754
|
//#endregion
|
|
723
755
|
//#region src/schemas/notebase.d.ts
|
|
@@ -786,6 +818,10 @@ declare const notebaseCreateDataSchema: z.ZodObject<{
|
|
|
786
818
|
id: z.ZodOptional<z.ZodUUID>;
|
|
787
819
|
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
788
820
|
}, z.core.$strict>>;
|
|
821
|
+
initialRows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
822
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
823
|
+
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
824
|
+
}, z.core.$strict>>>;
|
|
789
825
|
}, z.core.$strict>>;
|
|
790
826
|
}, z.core.$strict>;
|
|
791
827
|
type NotebaseCreateData = z.infer<typeof notebaseCreateDataSchema>;
|
|
@@ -824,6 +860,10 @@ declare const NotebaseCreateInputSchema: z.ZodObject<{
|
|
|
824
860
|
id: z.ZodOptional<z.ZodUUID>;
|
|
825
861
|
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
826
862
|
}, z.core.$strict>>;
|
|
863
|
+
initialRows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
864
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
865
|
+
cells: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
866
|
+
}, z.core.$strict>>>;
|
|
827
867
|
}, z.core.$strict>>;
|
|
828
868
|
}, z.core.$strict>;
|
|
829
869
|
type NotebaseCreateInput = z.infer<typeof NotebaseCreateInputSchema>;
|
|
@@ -1195,6 +1235,19 @@ declare const NotebaseRowCreateOutputSchema: z.ZodObject<{
|
|
|
1195
1235
|
txid: z.ZodNumber;
|
|
1196
1236
|
}, z.core.$strip>;
|
|
1197
1237
|
type NotebaseRowCreateOutput = z.infer<typeof NotebaseRowCreateOutputSchema>;
|
|
1238
|
+
declare const NOTEBASE_ROW_CREATE_MANY_MAX_ROWS = 50;
|
|
1239
|
+
declare const NotebaseRowCreateManyInputSchema: z.ZodObject<{
|
|
1240
|
+
notebaseId: z.ZodUUID;
|
|
1241
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
1242
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
1243
|
+
cells: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1244
|
+
}, z.core.$strict>>;
|
|
1245
|
+
}, z.core.$strip>;
|
|
1246
|
+
type NotebaseRowCreateManyInput = z.infer<typeof NotebaseRowCreateManyInputSchema>;
|
|
1247
|
+
declare const NotebaseRowCreateManyOutputSchema: z.ZodObject<{
|
|
1248
|
+
txid: z.ZodNumber;
|
|
1249
|
+
}, z.core.$strip>;
|
|
1250
|
+
type NotebaseRowCreateManyOutput = z.infer<typeof NotebaseRowCreateManyOutputSchema>;
|
|
1198
1251
|
declare const NotebaseRowUpdateInputSchema: z.ZodObject<{
|
|
1199
1252
|
notebaseRowId: z.ZodUUID;
|
|
1200
1253
|
data: z.ZodObject<{
|
|
@@ -1926,6 +1979,19 @@ declare const contract: {
|
|
|
1926
1979
|
type: string;
|
|
1927
1980
|
}, unknown, void>>, Record<never, never>, Record<never, never>>;
|
|
1928
1981
|
};
|
|
1982
|
+
noteSuggestion: {
|
|
1983
|
+
streamStructuredObject: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
1984
|
+
instructions: import("zod").ZodString;
|
|
1985
|
+
prompt: import("zod").ZodString;
|
|
1986
|
+
temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1987
|
+
}, import("zod/v4/core").$strict>, import("@orpc/contract").Schema<AsyncIteratorObject<{
|
|
1988
|
+
[x: string]: unknown;
|
|
1989
|
+
type: string;
|
|
1990
|
+
}, unknown, void>, import("@orpc/contract").AsyncIteratorClass<{
|
|
1991
|
+
[x: string]: unknown;
|
|
1992
|
+
type: string;
|
|
1993
|
+
}, unknown, void>>, Record<never, never>, Record<never, never>>;
|
|
1994
|
+
};
|
|
1929
1995
|
};
|
|
1930
1996
|
notebase: {
|
|
1931
1997
|
list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
|
|
@@ -2087,10 +2153,14 @@ declare const contract: {
|
|
|
2087
2153
|
id: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
2088
2154
|
cells: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
2089
2155
|
}, import("zod/v4/core").$strict>>;
|
|
2156
|
+
initialRows: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
2157
|
+
id: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
2158
|
+
cells: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
2159
|
+
}, import("zod/v4/core").$strict>>>;
|
|
2090
2160
|
}, import("zod/v4/core").$strict>>;
|
|
2091
2161
|
}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
2092
2162
|
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>>;
|
|
2163
|
+
}, 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
2164
|
update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
2095
2165
|
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
2096
2166
|
srsNewPerDay: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
@@ -2192,6 +2262,15 @@ declare const contract: {
|
|
|
2192
2262
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
2193
2263
|
txid: import("zod").ZodNumber;
|
|
2194
2264
|
}, 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>>;
|
|
2265
|
+
createMany: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
2266
|
+
notebaseId: import("zod").ZodUUID;
|
|
2267
|
+
rows: import("zod").ZodArray<import("zod").ZodObject<{
|
|
2268
|
+
id: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
2269
|
+
cells: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
2270
|
+
}, import("zod/v4/core").$strict>>;
|
|
2271
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
2272
|
+
txid: import("zod").ZodNumber;
|
|
2273
|
+
}, 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
2274
|
update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
|
|
2196
2275
|
notebaseRowId: import("zod").ZodUUID;
|
|
2197
2276
|
data: import("zod").ZodObject<{
|
|
@@ -2434,5 +2513,5 @@ declare const contract: {
|
|
|
2434
2513
|
};
|
|
2435
2514
|
type ORPCRouterClient = ContractRouterClient<typeof contract>;
|
|
2436
2515
|
//#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 };
|
|
2516
|
+
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
2517
|
//# 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":"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"}
|
|
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,31 @@ 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
|
+
notes: z.array(z.strictObject({ fields: z.array(z.strictObject({
|
|
423
|
+
name: z.string().max(80),
|
|
424
|
+
value: z.union([z.string(), z.number()]).nullable()
|
|
425
|
+
})).max(16) })).max(2)
|
|
426
|
+
});
|
|
400
427
|
const HostedAiStreamPartSchema = z.looseObject({ type: z.string().trim().min(1) });
|
|
401
428
|
//#endregion
|
|
402
429
|
//#region src/contracts/hosted-ai.ts
|
|
@@ -412,7 +439,13 @@ const hostedAiContract = {
|
|
|
412
439
|
path: "/hosted-ai/custom-actions/stream-structured-object",
|
|
413
440
|
summary: "Stream hosted custom action structured output",
|
|
414
441
|
tags: ["Hosted AI"]
|
|
415
|
-
}).input(HostedAiStreamStructuredObjectInputSchema).output(eventIterator(HostedAiStreamPartSchema)) }
|
|
442
|
+
}).input(HostedAiStreamStructuredObjectInputSchema).output(eventIterator(HostedAiStreamPartSchema)) },
|
|
443
|
+
noteSuggestion: { streamStructuredObject: oc.route({
|
|
444
|
+
method: "POST",
|
|
445
|
+
path: "/hosted-ai/note-suggestions/stream-structured-object",
|
|
446
|
+
summary: "Stream hosted note suggestion structured output",
|
|
447
|
+
tags: ["Hosted AI"]
|
|
448
|
+
}).input(HostedAiNoteSuggestionStreamInputSchema).output(eventIterator(HostedAiStreamPartSchema)) }
|
|
416
449
|
};
|
|
417
450
|
//#endregion
|
|
418
451
|
//#region src/schemas/notebase-column.ts
|
|
@@ -476,6 +509,30 @@ const NotebaseRowCreateInputSchema = z.object({
|
|
|
476
509
|
data: notebaseRowCreateDataSchema
|
|
477
510
|
});
|
|
478
511
|
const NotebaseRowCreateOutputSchema = z.object({ txid: z.number() });
|
|
512
|
+
const NOTEBASE_ROW_CREATE_MANY_MAX_ROWS = 50;
|
|
513
|
+
const NotebaseRowCreateManyInputSchema = z.object({
|
|
514
|
+
notebaseId: z.uuid(),
|
|
515
|
+
rows: z.array(notebaseRowCreateDataSchema).min(1).max(50)
|
|
516
|
+
}).superRefine((input, ctx) => {
|
|
517
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
518
|
+
input.rows.forEach((row, index) => {
|
|
519
|
+
if (row.id === void 0) return;
|
|
520
|
+
if (seenIds.has(row.id)) {
|
|
521
|
+
ctx.addIssue({
|
|
522
|
+
code: "custom",
|
|
523
|
+
message: `Duplicate row id "${row.id}".`,
|
|
524
|
+
path: [
|
|
525
|
+
"rows",
|
|
526
|
+
index,
|
|
527
|
+
"id"
|
|
528
|
+
]
|
|
529
|
+
});
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
seenIds.add(row.id);
|
|
533
|
+
});
|
|
534
|
+
});
|
|
535
|
+
const NotebaseRowCreateManyOutputSchema = z.object({ txid: z.number() });
|
|
479
536
|
const NotebaseRowUpdateInputSchema = z.object({
|
|
480
537
|
notebaseRowId: z.uuid(),
|
|
481
538
|
data: notebaseRowUpdateDataSchema
|
|
@@ -571,6 +628,10 @@ const notebaseSchema = z.object({
|
|
|
571
628
|
createdAt: z.date(),
|
|
572
629
|
updatedAt: z.date()
|
|
573
630
|
});
|
|
631
|
+
const notebaseInitialRowSchema = z.object({
|
|
632
|
+
id: z.uuid().optional(),
|
|
633
|
+
cells: z.record(z.string(), z.unknown())
|
|
634
|
+
}).strict();
|
|
574
635
|
const notebaseCreateDataSchema = z.object({
|
|
575
636
|
id: z.uuid().optional(),
|
|
576
637
|
name: z.string().min(1),
|
|
@@ -580,11 +641,33 @@ const notebaseCreateDataSchema = z.object({
|
|
|
580
641
|
name: z.string().min(1),
|
|
581
642
|
config: notebaseColumnConfigSchema
|
|
582
643
|
}).strict()).min(1),
|
|
583
|
-
initialRow:
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
644
|
+
initialRow: notebaseInitialRowSchema.optional(),
|
|
645
|
+
initialRows: z.array(notebaseInitialRowSchema).min(1).max(50).optional()
|
|
646
|
+
}).strict().superRefine((options, ctx) => {
|
|
647
|
+
if (options.initialRow && options.initialRows) ctx.addIssue({
|
|
648
|
+
code: "custom",
|
|
649
|
+
message: "Provide either initialRow or initialRows, not both.",
|
|
650
|
+
path: ["initialRows"]
|
|
651
|
+
});
|
|
652
|
+
if (!options.initialRows) return;
|
|
653
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
654
|
+
options.initialRows.forEach((row, index) => {
|
|
655
|
+
if (row.id === void 0) return;
|
|
656
|
+
if (seenIds.has(row.id)) {
|
|
657
|
+
ctx.addIssue({
|
|
658
|
+
code: "custom",
|
|
659
|
+
message: `Duplicate row id "${row.id}".`,
|
|
660
|
+
path: [
|
|
661
|
+
"initialRows",
|
|
662
|
+
index,
|
|
663
|
+
"id"
|
|
664
|
+
]
|
|
665
|
+
});
|
|
666
|
+
return;
|
|
667
|
+
}
|
|
668
|
+
seenIds.add(row.id);
|
|
669
|
+
});
|
|
670
|
+
}).optional()
|
|
588
671
|
}).strict();
|
|
589
672
|
const NotebaseCreateInputSchema = notebaseCreateDataSchema;
|
|
590
673
|
const NotebaseCreateOutputSchema = z.object({ txid: z.number() });
|
|
@@ -633,7 +716,7 @@ const notebaseContract = {
|
|
|
633
716
|
summary: "Get notebase schema",
|
|
634
717
|
tags: ["Notebases"]
|
|
635
718
|
}).input(NotebaseGetSchemaInputSchema).output(NotebaseGetSchemaOutputSchema),
|
|
636
|
-
create: notebaseProcedure.errors(pickPublicErrorMap("NOTE_LIMIT_EXCEEDED")).route({
|
|
719
|
+
create: notebaseProcedure.errors(pickPublicErrorMap("NOTE_LIMIT_EXCEEDED", "CELL_VALIDATION_FAILED")).route({
|
|
637
720
|
method: "POST",
|
|
638
721
|
path: "/notebases",
|
|
639
722
|
summary: "Create notebase",
|
|
@@ -689,6 +772,12 @@ const notebaseRowContract = {
|
|
|
689
772
|
summary: "Create notebase row",
|
|
690
773
|
tags: ["Notebase Rows"]
|
|
691
774
|
}).input(NotebaseRowCreateInputSchema).output(NotebaseRowCreateOutputSchema),
|
|
775
|
+
createMany: notebaseProcedure.errors(pickPublicErrorMap("NOTEBASE_NOT_FOUND", "CELL_VALIDATION_FAILED", "CONCURRENT_POSITION_CONFLICT", "NOTE_LIMIT_EXCEEDED")).route({
|
|
776
|
+
method: "POST",
|
|
777
|
+
path: "/notebase-rows/batch",
|
|
778
|
+
summary: "Create notebase rows in a single transaction",
|
|
779
|
+
tags: ["Notebase Rows"]
|
|
780
|
+
}).input(NotebaseRowCreateManyInputSchema).output(NotebaseRowCreateManyOutputSchema),
|
|
692
781
|
update: notebaseProcedure.errors(pickPublicErrorMap("NOTEBASE_ROW_NOT_FOUND", "CELL_VALIDATION_FAILED")).route({
|
|
693
782
|
method: "PATCH",
|
|
694
783
|
path: "/notebase-rows/{notebaseRowId}",
|
|
@@ -953,6 +1042,6 @@ const contract = {
|
|
|
953
1042
|
}
|
|
954
1043
|
};
|
|
955
1044
|
//#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 };
|
|
1045
|
+
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
1046
|
|
|
958
1047
|
//# 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 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.0",
|
|
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,40 @@ 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
|
+
notes: z.array(
|
|
90
|
+
z.strictObject({
|
|
91
|
+
fields: z.array(
|
|
92
|
+
z.strictObject({
|
|
93
|
+
name: z.string().max(80),
|
|
94
|
+
value: z.union([z.string(), z.number()]).nullable(),
|
|
95
|
+
}),
|
|
96
|
+
).max(HOSTED_AI_NOTE_SUGGESTION_MAX_NOTE_FIELDS),
|
|
97
|
+
}),
|
|
98
|
+
).max(HOSTED_AI_NOTE_SUGGESTION_MAX_NOTES),
|
|
99
|
+
})
|
|
100
|
+
|
|
67
101
|
export const HostedAiStreamPartSchema = z.looseObject({
|
|
68
102
|
type: z.string().trim().min(1),
|
|
69
103
|
})
|
|
@@ -72,4 +106,6 @@ export type HostedAiOutputFieldType = z.infer<typeof HostedAiOutputFieldTypeSche
|
|
|
72
106
|
export type HostedAiOutputField = z.infer<typeof HostedAiOutputFieldSchema>
|
|
73
107
|
export type HostedAiStreamTextInput = z.infer<typeof HostedAiStreamTextInputSchema>
|
|
74
108
|
export type HostedAiStreamStructuredObjectInput = z.infer<typeof HostedAiStreamStructuredObjectInputSchema>
|
|
109
|
+
export type HostedAiNoteSuggestionStreamInput = z.infer<typeof HostedAiNoteSuggestionStreamInputSchema>
|
|
110
|
+
export type HostedAiNoteSuggestionObject = z.infer<typeof HostedAiNoteSuggestionObjectSchema>
|
|
75
111
|
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
|
|