@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 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
@@ -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":";;;;;cASa,iCAAA,EAAiC,CAAA,CAAA,OAAA;;;;;;KAMlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;AAAA,cAE5C,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;KAOnC,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,cAE7C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;KAO/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;KAGrC,8BAAA,GAAiC,CAAA,CAAE,KAAK,QAAQ,oCAAA;AAAA,cAE/C,qBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqHD,kBAAA,gBAAkC,qBAAqB;AAAA,KAEvD,kBAAA,eAAiC,kBAAA,YACjC,qBAAA,EAAuB,KAAA;EAAiB,IAAA,wBAA4B,CAAA,CAAE,UAAA;AAAA,IAC5E,CAAA,CAAE,MAAA,CAAO,OAAA;AAAA,iBAGC,oBAAA,CAAqB,IAAA,uBAA2B,IAAA,IAAQ,kBAAkB;AAAA,iBAI1E,wBAAA,eAAuC,kBAAA,EAAoB,IAAA,EAAM,KAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjE,kBAAA,+BAAiD,kBAAA,OAC5D,KAAA,EAAO,MAAA,GAiBH,IAAA,CAAK,QAAA,EAAU,MAAA;;;cC3LX,oBAAA,EAAoB,CAAA,CAAA,OAAA;;;;KACrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;KAG5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;;;cCbvC,qBAAA,EAAqB,CAAA,CAAA,OAAA;;;;KACtB,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,cAEhC,+BAAA,EAA+B,CAAA,CAAA,OAAA;;;;;;;;;;KAUhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,iBAAA,EAAiB,CAAA,CAAA,OAAA;;;;;KAClB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,cAG5B,yBAAA,EAAyB,CAAA,CAAA,OAAA;;;;KAC1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,4BAAA,EAA4B,CAAA,CAAA,OAAA;;;;KAC7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,yBAAA,EAAyB,CAAA,CAAA,OAAA;;;;KAC1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;KAKxC,iCAAA,GAAoC,CAAA,CAAE,KAAK,QAAQ,uCAAA;AAAA,cAElD,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;;;cCtCxC,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;KAQnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;KAG5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,4BAAA,EAA4B,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;KAC7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;KAC5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;KAM9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;KAK9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMX,IAAA,GAAO,CAAA,CAAE,KAAK,QAAQ,UAAA;AAAA,cAErB,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAInB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;KAMpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,oBAAA,EAAoB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;KAGnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;KAIxB,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,cAElC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;KAIzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;;;cClHnC,6BAAA,EAA6B,CAAA,CAAA,OAAA;;;;cAE7B,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;cA2BzB,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;cAO7B,yCAAA,EAAyC,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAyBzC,mCAAA;AAAA,cACA,yCAAA;AAAA,cAEA,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAcvC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;cAiBlC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;KAIzB,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,KACzC,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,KACrC,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,KACzC,mCAAA,GAAsC,CAAA,CAAE,KAAK,QAAQ,yCAAA;AAAA,KACrD,iCAAA,GAAoC,CAAA,CAAE,KAAK,QAAQ,uCAAA;AAAA,KACnD,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,KAC9C,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;;;cCxGnC,uBAAA,EAAuB,CAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AAAA,KACxB,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,cAElC,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;KAIvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,wBAAA,EAAwB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;KACzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;KAiBf,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,cAOzB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2CzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAC1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;KAKzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;KAG1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;KAG1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;KAG3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAGrC,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;KAGvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAG7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOxB,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,cAElC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAM9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;;;cCjJxC,yBAAA,EAAyB,CAAA,CAAA,SAAiF;AAAA,cAE1G,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;KAGjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;KAGjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;KAGhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,cAE1C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;KAGjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;KAIjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;KAGlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;;;cCvE5C,sBAAA,EAAsB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,UAAA;AAAA,cAEtB,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;;;KAQlB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,cAE5B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;KAI5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;KAG5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAEtC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,iCAAA;AAAA,cAEA,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;KAuBjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;KAGlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;AAAA,cAE5C,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;KAS9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAG7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;KAI9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;;;cCtGzC,sBAAA,EAAsB,CAAA,CAAA,OAAA;;;;;KACvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;KAKzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;KAKzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,yBAAA,EAAyB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;cAEzB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;KAIvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAEjC,uBAAA,EAAuB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;cAEvB,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAO7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;KAYnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;;;cC/C7B,cAAA,EAAc,CAAA,CAAA,SAQL;AAAA,KACV,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;;;cCCzB,UAAA,EAAU,CAAA,CAAA,kBAAA;AAAA,KACX,IAAA,GAAO,CAAA,CAAE,KAAK,QAAQ,UAAA;AAAA,cAErB,8BAAA;AAAA,UAII,qBAAA;EACf,EAAA;EACA,cAAA,EAAgB,IAAI;AAAA;AAAA,iBAGA,uBAAA,CAAwB,IAAA,EAAM,qBAAA,GAAqB,OAAA;AAAA,cAO5D,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;KAOrB,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAE/B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAG7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,4BAAA,EAA4B,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA;;;;;KAI7B,sBAAA,GAAyB,CAAA,CAAE,KAAK,QAAQ,4BAAA;AAAA,cAEvC,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;KAIlC,2BAAA,GAA8B,CAAA,CAAE,KAAK,QAAQ,iCAAA;AAAA,cAE5C,kCAAA,EAAkC,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA;;;;;KAInC,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,cAE7C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;KAI/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;KAC5B,qBAAA,GAAwB,wBAAwB;AAAA,cAE/C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;KAC/B,wBAAA,GAA2B,wBAAwB;AAAA,cAElD,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAYhB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,cAE1B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOtB,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,cAEhC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;KAGpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;KAC7B,sBAAA,GAAyB,aAAa;AAAA,cAErC,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;KAChC,yBAAA,GAA4B,aAAa;;;cC/HxC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;KAI/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAExC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;;;cCnBzC,2BAAA,EAA2B,CAAA,CAAA,OAAA;;;;;;KAM5B,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,cAGtC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;KAa9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAGxC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;KAK/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;KAKjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;KAG9B,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,cAGxC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;KAK3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;;;cCxCrC,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAcD,gBAAA,GAAmB,oBAAoB,QAAQ,QAAA"}
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: z.object({
584
- id: z.uuid().optional(),
585
- cells: z.record(z.string(), z.unknown())
586
- }).strict().optional()
587
- }).strict().optional()
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.9.4",
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/typescript-config": "0.0.0",
34
+ "@repo/eslint-config": "0.0.1",
35
35
  "@repo/tsdown-config": "0.0.0",
36
- "@repo/eslint-config": "0.0.1"
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",
@@ -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
 
@@ -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,
@@ -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: z.object({
48
- id: z.uuid().optional(),
49
- cells: z.record(z.string(), z.unknown()),
50
- }).strict().optional(),
51
- }).strict().optional(),
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