@vestcards/server-types 1.2.0 → 1.4.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.
Files changed (75) hide show
  1. package/dist/apps/server/src/app.d.ts +437 -16
  2. package/dist/apps/server/src/config/env.d.ts +7 -1
  3. package/dist/apps/server/src/lib/metrics.d.ts +4 -0
  4. package/dist/apps/server/src/lib/posthog.d.ts +2 -0
  5. package/dist/apps/server/src/libs/mappers.d.ts +5 -0
  6. package/dist/apps/server/src/middleware/errorHandler.d.ts +1 -1
  7. package/dist/apps/server/src/middleware/logger.d.ts +12 -29
  8. package/dist/apps/server/src/modules/auth/lib.d.ts +45 -17
  9. package/dist/apps/server/src/modules/auth/profile.d.ts +5 -0
  10. package/dist/apps/server/src/modules/auth/utils.d.ts +1 -0
  11. package/dist/apps/server/src/modules/card/index.d.ts +89 -0
  12. package/dist/apps/server/src/modules/card/model.d.ts +17 -0
  13. package/dist/apps/server/src/modules/card/service.d.ts +8 -1
  14. package/dist/apps/server/src/modules/cron/cron.test.d.ts +1 -0
  15. package/dist/apps/server/src/modules/cron/index.d.ts +53 -0
  16. package/dist/apps/server/src/modules/cron/jobs/expire-memberships.d.ts +1 -0
  17. package/dist/apps/server/src/modules/cron/jobs/payment-expiry-reminder.d.ts +1 -0
  18. package/dist/apps/server/src/modules/deck/index.d.ts +19 -1
  19. package/dist/apps/server/src/modules/deck/model.d.ts +4 -0
  20. package/dist/apps/server/src/modules/deck/service.d.ts +5 -1
  21. package/dist/apps/server/src/modules/ranking/index.d.ts +412 -0
  22. package/dist/apps/server/src/modules/ranking/model.d.ts +28 -0
  23. package/dist/apps/server/src/modules/ranking/ranking.test.d.ts +1 -0
  24. package/dist/apps/server/src/modules/ranking/service.d.ts +4 -0
  25. package/dist/apps/server/src/modules/stats/index.d.ts +446 -0
  26. package/dist/apps/server/src/modules/stats/model.d.ts +85 -0
  27. package/dist/apps/server/src/modules/stats/service.d.ts +27 -0
  28. package/dist/apps/server/src/modules/stats/stats.test.d.ts +1 -0
  29. package/dist/apps/server/src/modules/study/service.d.ts +7 -7
  30. package/dist/apps/server/src/modules/user/errors.d.ts +3 -0
  31. package/dist/apps/server/src/modules/user/index.d.ts +94 -15
  32. package/dist/apps/server/src/modules/user/model.d.ts +17 -1
  33. package/dist/apps/server/src/modules/user/service.d.ts +17 -29
  34. package/dist/apps/server/src/modules/vesty/index.d.ts +473 -0
  35. package/dist/apps/server/src/modules/vesty/model.d.ts +35 -0
  36. package/dist/apps/server/src/modules/vesty/service.d.ts +6 -0
  37. package/dist/apps/server/src/modules/vesty/services/generate-deck.d.ts +2 -0
  38. package/dist/apps/server/src/modules/vesty/services/insights.d.ts +3 -0
  39. package/dist/apps/server/src/modules/vesty/tools.d.ts +11 -0
  40. package/dist/apps/server/src/modules/vesty/utils.d.ts +69 -0
  41. package/dist/apps/server/src/modules/vesty/vesty.test.d.ts +1 -0
  42. package/dist/apps/server/src/server.d.ts +1 -0
  43. package/dist/apps/server/src/tests/helpers/fixtures.d.ts +9 -6
  44. package/dist/apps/server/src/tests/preload/vesty-mock.d.ts +1 -0
  45. package/dist/apps/server/src/utils/api.d.ts +1 -1
  46. package/dist/apps/server/src/utils/select.d.ts +17 -0
  47. package/dist/packages/db-core/src/index.d.ts +0 -1
  48. package/dist/packages/db-core/src/schema/auth.d.ts +94 -0
  49. package/dist/packages/db-core/src/schema/deck.d.ts +17 -0
  50. package/dist/packages/db-core/src/schema/payment.d.ts +37 -1
  51. package/dist/packages/email-core/src/templates/deleteAccountRequest.d.ts +8 -0
  52. package/dist/packages/email-core/src/templates/footer.d.ts +1 -1
  53. package/dist/packages/email-core/src/templates/index.d.ts +4 -0
  54. package/dist/packages/email-core/src/templates/paymentExpiryReminder.d.ts +9 -0
  55. package/dist/packages/shared/src/date/index.d.ts +1 -0
  56. package/dist/packages/shared/src/date/timezone.d.ts +29 -0
  57. package/dist/packages/shared/src/spaced-repetition/config.d.ts +20 -0
  58. package/dist/packages/shared/src/spaced-repetition/fsrs.d.ts +13 -0
  59. package/dist/packages/shared/src/spaced-repetition/index.d.ts +5 -0
  60. package/dist/packages/shared/src/spaced-repetition/retention.d.ts +2 -0
  61. package/dist/packages/shared/src/spaced-repetition/session-manager.d.ts +25 -0
  62. package/dist/packages/shared/src/spaced-repetition/utils.d.ts +26 -0
  63. package/dist/packages/shared/src/theme/tokens/border.d.ts +1 -1
  64. package/dist/packages/shared/src/theme/tokens/colors.d.ts +18 -18
  65. package/dist/packages/shared/src/types/deck.d.ts +10 -0
  66. package/dist/packages/shared/src/types/index.d.ts +1 -0
  67. package/dist/packages/shared/src/types/permissions.d.ts +2 -0
  68. package/dist/packages/shared/src/types/user.d.ts +20 -0
  69. package/dist/packages/shared/src/types/vesty.d.ts +7 -0
  70. package/dist/packages/utils/src/logger/index.d.ts +2 -1
  71. package/dist/packages/utils/src/logger/posthog.d.ts +20 -0
  72. package/package.json +1 -1
  73. package/dist/apps/server/src/modules/study/lib/constants.d.ts +0 -5
  74. package/dist/apps/server/src/modules/study/lib/fsrs.d.ts +0 -12
  75. package/dist/packages/db-core/src/views/deck.d.ts +0 -79
@@ -0,0 +1,7 @@
1
+ import type { Subject } from './deck';
2
+ export interface IVestyChatRelatedDeck {
3
+ id: string;
4
+ title: string;
5
+ subject: Subject;
6
+ topicName: string;
7
+ }
@@ -1,2 +1,3 @@
1
1
  import { logger } from './logger';
2
- export { logger };
2
+ import { flushPostHogLogs, shutdownPostHogLogs } from './posthog';
3
+ export { flushPostHogLogs, logger, shutdownPostHogLogs };
@@ -0,0 +1,20 @@
1
+ import { type LogAttributes } from '@opentelemetry/api-logs';
2
+ type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
3
+ type PinoBindings = Record<string, unknown>;
4
+ interface PostHogLogsConfig {
5
+ endpoint: string;
6
+ projectToken: string;
7
+ resourceAttributes: Record<string, string>;
8
+ }
9
+ interface FlushOptions {
10
+ timeoutMs?: number;
11
+ }
12
+ export declare function emitPostHogLog(level: LogLevel, args: unknown[], bindings?: PinoBindings): void;
13
+ export declare function flushPostHogLogs(options?: FlushOptions): Promise<void>;
14
+ export declare function shutdownPostHogLogs(): Promise<void>;
15
+ export declare function getPostHogLogsConfig(env: NodeJS.ProcessEnv): PostHogLogsConfig | undefined;
16
+ export declare function parsePinoArgs(args: unknown[], bindings: PinoBindings): {
17
+ body: string;
18
+ attributes: LogAttributes;
19
+ };
20
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vestcards/server-types",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "private": false,
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
@@ -1,5 +0,0 @@
1
- export declare const FSRS_RETENTION = 0.9;
2
- export declare const MAX_CARDS_TO_FETCH = 50;
3
- export declare const MAX_LEARN_PER_DAY = 200;
4
- export declare const MAX_NEW_PER_DECK_DAY = 10;
5
- export declare const THRESHOLD_CARDS_FOR_REFETCH = 10;
@@ -1,12 +0,0 @@
1
- import { type CardReview, type NewCardReview, type NewReviewLog, type Rating } from '@vestcards/db-core';
2
- import { type Card as FSRSCard } from 'ts-fsrs';
3
- export declare const gradeCard: (card: CardReview, schemaRating: Rating, durationInSeconds: number) => {
4
- nextCard: CardReview;
5
- reviewLog: NewReviewLog;
6
- };
7
- /**
8
- * Give a {@link Card}, returns the review {@link Date} for each {@link Rating}.
9
- */
10
- export declare function getReviewDateForEachRating(card: CardReview | NewCardReview): Record<Rating, Date>;
11
- export declare function mergeFsrsCard(fsrsCard: FSRSCard, card: CardReview): CardReview;
12
- export declare function newCardReview(userDeckStudyId: string, cardId: string): NewCardReview;
@@ -1,79 +0,0 @@
1
- export declare const userCurrentReviewStreak: import("drizzle-orm/pg-core").PgViewWithSelection<"user_current_review_streak", false, {
2
- user_id: import("drizzle-orm/pg-core").PgColumn<{
3
- name: "user_id";
4
- tableName: "user_current_review_streak";
5
- dataType: "string";
6
- columnType: "PgText";
7
- data: string;
8
- driverParam: string;
9
- notNull: true;
10
- hasDefault: false;
11
- isPrimaryKey: false;
12
- isAutoincrement: false;
13
- hasRuntimeDefault: false;
14
- enumValues: [string, ...string[]];
15
- baseColumn: never;
16
- identity: undefined;
17
- generated: undefined;
18
- }, {}, {}>;
19
- current_streak: import("drizzle-orm/pg-core").PgColumn<{
20
- name: "current_streak";
21
- tableName: "user_current_review_streak";
22
- dataType: "number";
23
- columnType: "PgInteger";
24
- data: number;
25
- driverParam: string | number;
26
- notNull: true;
27
- hasDefault: false;
28
- isPrimaryKey: false;
29
- isAutoincrement: false;
30
- hasRuntimeDefault: false;
31
- enumValues: undefined;
32
- baseColumn: never;
33
- identity: undefined;
34
- generated: undefined;
35
- }, {}, {}>;
36
- week_activity: import("drizzle-orm/pg-core").PgColumn<{
37
- name: "week_activity";
38
- tableName: "user_current_review_streak";
39
- dataType: "array";
40
- columnType: "PgArray";
41
- data: boolean[];
42
- driverParam: string | boolean[];
43
- notNull: true;
44
- hasDefault: false;
45
- isPrimaryKey: false;
46
- isAutoincrement: false;
47
- hasRuntimeDefault: false;
48
- enumValues: undefined;
49
- baseColumn: import("drizzle-orm").Column<{
50
- name: "week_activity";
51
- tableName: "user_current_review_streak";
52
- dataType: "boolean";
53
- columnType: "PgBoolean";
54
- data: boolean;
55
- driverParam: boolean;
56
- notNull: false;
57
- hasDefault: false;
58
- isPrimaryKey: false;
59
- isAutoincrement: false;
60
- hasRuntimeDefault: false;
61
- enumValues: undefined;
62
- baseColumn: never;
63
- identity: undefined;
64
- generated: undefined;
65
- }, {}, {}>;
66
- identity: undefined;
67
- generated: undefined;
68
- }, {}, {
69
- baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
70
- name: "week_activity";
71
- dataType: "boolean";
72
- columnType: "PgBoolean";
73
- data: boolean;
74
- driverParam: boolean;
75
- enumValues: undefined;
76
- }, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
77
- size: undefined;
78
- }>;
79
- }>;