@cravery/core 0.0.28 → 0.0.30

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 (37) hide show
  1. package/dist/config/ai.d.ts.map +1 -1
  2. package/dist/config/ai.js +7 -0
  3. package/dist/config/ai.js.map +1 -1
  4. package/dist/config/limits.js +16 -16
  5. package/dist/config/limits.js.map +1 -1
  6. package/dist/config/subscription.d.ts +3 -1
  7. package/dist/config/subscription.d.ts.map +1 -1
  8. package/dist/config/subscription.js +14 -2
  9. package/dist/config/subscription.js.map +1 -1
  10. package/dist/types/ai/config.d.ts +3 -2
  11. package/dist/types/ai/config.d.ts.map +1 -1
  12. package/dist/types/core/settings.d.ts +2 -5
  13. package/dist/types/core/settings.d.ts.map +1 -1
  14. package/dist/types/iam/profile.d.ts +2 -5
  15. package/dist/types/iam/profile.d.ts.map +1 -1
  16. package/dist/types/iam/subscription.d.ts +7 -4
  17. package/dist/types/iam/subscription.d.ts.map +1 -1
  18. package/dist/types/iam/user.d.ts +2 -5
  19. package/dist/types/iam/user.d.ts.map +1 -1
  20. package/dist/types/moderation/moderation.d.ts +2 -4
  21. package/dist/types/moderation/moderation.d.ts.map +1 -1
  22. package/dist/types/recipe/recipe.d.ts +12 -9
  23. package/dist/types/recipe/recipe.d.ts.map +1 -1
  24. package/dist/types/report/report.d.ts +2 -5
  25. package/dist/types/report/report.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/src/config/ai.ts +7 -0
  28. package/src/config/limits.ts +16 -16
  29. package/src/config/subscription.ts +16 -1
  30. package/src/types/ai/config.ts +4 -2
  31. package/src/types/core/settings.ts +2 -5
  32. package/src/types/iam/profile.ts +2 -5
  33. package/src/types/iam/subscription.ts +8 -4
  34. package/src/types/iam/user.ts +2 -5
  35. package/src/types/moderation/moderation.ts +2 -4
  36. package/src/types/recipe/recipe.ts +19 -9
  37. package/src/types/report/report.ts +2 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/config/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,SAAS,EAAE,QAoCvB,CAAC"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/config/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,SAAS,EAAE,QA2CvB,CAAC"}
package/dist/config/ai.js CHANGED
@@ -37,5 +37,12 @@ exports.AI_MODELS = {
37
37
  type: "embedding",
38
38
  cost: { input: 0.00015, output: 0 },
39
39
  },
40
+ Veo31Fast: {
41
+ id: "vertexai/veo-3.1-fast-generate-preview",
42
+ alias: "veo31fast",
43
+ name: "Veo 3.1 Fast",
44
+ type: "video",
45
+ cost: { input: 0, output: 0.10 },
46
+ },
40
47
  };
41
48
  //# sourceMappingURL=ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/config/ai.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAa;IACjC,aAAa,EAAE;QACb,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAClC;IACD,WAAW,EAAE;QACX,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KACpC;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAClC;IACD,WAAW,EAAE;QACX,EAAE,EAAE,uCAAuC;QAC3C,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;KACjC;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,+BAA+B;QACnC,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;KACpC;CACF,CAAC"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/config/ai.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAa;IACjC,aAAa,EAAE;QACb,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAClC;IACD,WAAW,EAAE;QACX,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KACpC;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAClC;IACD,WAAW,EAAE;QACX,EAAE,EAAE,uCAAuC;QAC3C,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;KACjC;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,+BAA+B;QACnC,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;KACpC;IACD,SAAS,EAAE;QACT,EAAE,EAAE,wCAAwC;QAC5C,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;KACjC;CACF,CAAC"}
@@ -4,38 +4,38 @@ exports.LIMITS = void 0;
4
4
  exports.LIMITS = {
5
5
  free: {
6
6
  daily: {
7
- create: 1,
8
- extract: 2,
9
- scan: 1,
7
+ create: 0,
8
+ extract: 1,
9
+ scan: 0,
10
10
  },
11
11
  monthly: {
12
- create: 2,
13
- extract: 5,
14
- scan: 2,
12
+ create: 0,
13
+ extract: 1,
14
+ scan: 0,
15
15
  },
16
16
  },
17
17
  pro: {
18
18
  daily: {
19
- create: 10,
20
- extract: 25,
21
- scan: 15,
19
+ create: 8,
20
+ extract: 20,
21
+ scan: 10,
22
22
  },
23
23
  monthly: {
24
24
  create: 100,
25
- extract: 200,
26
- scan: 150,
25
+ extract: 150,
26
+ scan: 100,
27
27
  },
28
28
  },
29
29
  family: {
30
30
  daily: {
31
- create: 25,
32
- extract: 75,
33
- scan: 50,
31
+ create: 20,
32
+ extract: 60,
33
+ scan: 25,
34
34
  },
35
35
  monthly: {
36
36
  create: 250,
37
- extract: 500,
38
- scan: 200,
37
+ extract: 400,
38
+ scan: 250,
39
39
  },
40
40
  },
41
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/config/limits.ts"],"names":[],"mappings":";;;AASa,QAAA,MAAM,GAAyC;IAC1D,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,CAAC;SACR;QACD,OAAO,EAAE;YACP,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,CAAC;SACR;KACF;IACD,GAAG,EAAE;QACH,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;SACT;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;SACV;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;SACT;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/config/limits.ts"],"names":[],"mappings":";;;AASa,QAAA,MAAM,GAAyC;IAC1D,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,CAAC;SACR;QACD,OAAO,EAAE;YACP,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,CAAC;SACR;KACF;IACD,GAAG,EAAE;QACH,KAAK,EAAE;YACL,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;SACT;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;SACV;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;SACT;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAC"}
@@ -1,2 +1,4 @@
1
- export declare const MAX_MEMBERS_FAMILY_PLAN = 3;
1
+ import { Price, SubscriptionTier } from "../types";
2
+ export declare const MAX_MEMBERS_FAMILY_PLAN = 4;
3
+ export declare const PRICING: Record<Exclude<SubscriptionTier, "free">, Price>;
2
4
  //# sourceMappingURL=subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/config/subscription.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/config/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,KAAK,CAWpE,CAAC"}
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_MEMBERS_FAMILY_PLAN = void 0;
4
- exports.MAX_MEMBERS_FAMILY_PLAN = 3;
3
+ exports.PRICING = exports.MAX_MEMBERS_FAMILY_PLAN = void 0;
4
+ exports.MAX_MEMBERS_FAMILY_PLAN = 4;
5
+ exports.PRICING = {
6
+ pro: {
7
+ currency: "USD",
8
+ monthly: 12.99,
9
+ yearly: 99.99,
10
+ },
11
+ family: {
12
+ currency: "USD",
13
+ monthly: 22.99,
14
+ yearly: 179.99,
15
+ },
16
+ };
5
17
  //# sourceMappingURL=subscription.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/config/subscription.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/config/subscription.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAE5B,QAAA,OAAO,GAAqD;IACvE,GAAG,EAAE;QACH,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KACd;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM;KACf;CACF,CAAC"}
@@ -3,9 +3,10 @@
3
3
  * - multimodal: cost per 1,000,000 input/output tokens
4
4
  * - image: cost per image (stored in cost.output)
5
5
  * - embedding: cost per 1,000 input tokens
6
+ * - video: cost per second of video (stored in cost.output)
6
7
  */
7
- export type AIModel = "Gemini25Flash" | "Gemini25Pro" | "Gemini3Flash" | "Imagen4Fast" | "GeminiEmbedding001";
8
- export type AIModelType = "multimodal" | "image" | "embedding";
8
+ export type AIModel = "Gemini25Flash" | "Gemini25Pro" | "Gemini3Flash" | "Imagen4Fast" | "GeminiEmbedding001" | "Veo31Fast";
9
+ export type AIModelType = "multimodal" | "image" | "embedding" | "video";
9
10
  export interface AIModelCost {
10
11
  input: number;
11
12
  output: number;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/ai/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GACf,eAAe,GACf,aAAa,GACb,cAAc,GACd,aAAa,GACb,oBAAoB,CAAC;AACzB,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/ai/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GACf,eAAe,GACf,aAAa,GACb,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,WAAW,CAAC;AAChB,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC"}
@@ -1,16 +1,15 @@
1
1
  import { Allergen, Cuisine, DietaryTag, Spiciness, TemperatureUnit } from "../recipe";
2
+ import { Entity } from "./entity";
2
3
  import { Locale } from "./locale";
3
4
  import { MeasurementSystem } from "./measurement_system";
4
5
  import { Theme } from "./theme";
5
- import { Timestamp } from "./timestamp";
6
6
  export interface NotificationSettings {
7
7
  email: boolean;
8
8
  push: boolean;
9
9
  marketing: boolean;
10
10
  weeklyDigest: boolean;
11
11
  }
12
- export interface Settings {
13
- id: string;
12
+ export interface Settings extends Entity {
14
13
  allergens: Allergen[];
15
14
  dietaryTags: DietaryTag[];
16
15
  cuisines: Cuisine[];
@@ -21,7 +20,5 @@ export interface Settings {
21
20
  measurementSystem: MeasurementSystem;
22
21
  theme: Theme;
23
22
  notifications: NotificationSettings;
24
- createdAt: Timestamp;
25
- updatedAt: Timestamp;
26
23
  }
27
24
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/types/core/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/types/core/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,oBAAoB,CAAC;CACrC"}
@@ -1,14 +1,11 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity } from "../core";
2
2
  import { ProfileStatus } from "./profile_status";
3
- export interface Profile {
3
+ export interface Profile extends Entity {
4
4
  bio?: string;
5
- createdAt: Timestamp;
6
- id: string;
7
5
  imageUrl?: string;
8
6
  name: string;
9
7
  public: boolean;
10
8
  status: ProfileStatus;
11
- updatedAt: Timestamp;
12
9
  verified: boolean;
13
10
  }
14
11
  export interface ProfileStats {
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/types/iam/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/types/iam/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,OAAQ,SAAQ,MAAM;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,4 +1,4 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { SubscriptionRole } from "./subscription_role";
3
3
  import { SubscriptionStatus } from "./subscription_status";
4
4
  import { SubscriptionTier } from "./subscription_tier";
@@ -9,12 +9,15 @@ export interface Member {
9
9
  invitedAt: Timestamp;
10
10
  joinedAt?: Timestamp;
11
11
  }
12
- export interface Subscription {
12
+ export interface Subscription extends Entity {
13
13
  expiresAt: Timestamp;
14
- id: string;
15
14
  members?: Member[];
16
15
  providerId: string;
17
16
  tier: SubscriptionTier;
18
- updatedAt: Timestamp;
17
+ }
18
+ export interface Price {
19
+ currency: string;
20
+ monthly: number;
21
+ yearly: number;
19
22
  }
20
23
  //# sourceMappingURL=subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../src/types/iam/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../src/types/iam/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,17 +1,14 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { UserRole } from "./user_role";
3
3
  import { UserStatus } from "./user_status";
4
- export interface User {
5
- createdAt: Timestamp;
4
+ export interface User extends Entity {
6
5
  deletedAt?: Timestamp;
7
6
  email: string;
8
- id: string;
9
7
  imageUrl?: string;
10
8
  name: string;
11
9
  role: UserRole;
12
10
  status: UserStatus;
13
11
  subscriptionId?: string;
14
- updatedAt: Timestamp;
15
12
  verified: boolean;
16
13
  }
17
14
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/types/iam/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/types/iam/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,IAAK,SAAQ,MAAM;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -1,4 +1,4 @@
1
- import { Locale, Timestamp } from "../core";
1
+ import { Entity, Locale, Timestamp } from "../core";
2
2
  import { ModerationStatus } from "./moderation_status";
3
3
  import { Priority } from "./priority";
4
4
  import { Severity } from "./severity";
@@ -9,10 +9,8 @@ export interface ModerationSuggestion {
9
9
  severity: Severity;
10
10
  suggestion: string;
11
11
  }
12
- export interface Moderation {
12
+ export interface Moderation extends Entity {
13
13
  assessedAt?: Timestamp;
14
- createdAt: Timestamp;
15
- id: string;
16
14
  originalLocale: Locale;
17
15
  priority: Priority;
18
16
  qualityScore?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../../src/types/moderation/moderation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../../src/types/moderation/moderation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC"}
@@ -1,4 +1,4 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { Locale } from "../core/locale";
3
3
  import { Allergen } from "./allergen";
4
4
  import { Cuisine } from "./cuisine";
@@ -12,17 +12,16 @@ import { Nutrition } from "./nutrition";
12
12
  import { RecipeSource } from "./recipe_source";
13
13
  import { RecipeStatus } from "./recipe_status";
14
14
  import { Spiciness } from "./spiciness";
15
- export interface RecipeMeta {
15
+ export type VideoGenerationStatus = "idle" | "generating" | "completed" | "failed";
16
+ export interface RecipeMeta extends Entity {
16
17
  allergens: Allergen[];
17
18
  confidence: number;
18
- createdAt: Timestamp;
19
19
  createdBy: string;
20
20
  cuisine: Cuisine;
21
21
  deletedAt?: Timestamp;
22
22
  dietaryTags: DietaryTag[];
23
23
  difficulty: Difficulty;
24
24
  equipment?: EquipmentMeta[];
25
- id: string;
26
25
  imageUrl?: string;
27
26
  ingredientSections: IngredientSectionMeta[];
28
27
  instructions: InstructionMeta[];
@@ -35,7 +34,10 @@ export interface RecipeMeta {
35
34
  spiciness: Spiciness;
36
35
  status: RecipeStatus;
37
36
  time: number;
38
- updatedAt: Timestamp;
37
+ videoUrl?: string;
38
+ videoGeneratedAt?: Timestamp;
39
+ videoGenerationStatus?: VideoGenerationStatus;
40
+ videoGenerationError?: string;
39
41
  }
40
42
  export interface RecipeContent {
41
43
  description: string;
@@ -46,10 +48,9 @@ export interface RecipeContent {
46
48
  tips?: string[];
47
49
  title: string;
48
50
  }
49
- export interface Recipe {
51
+ export interface Recipe extends Entity {
50
52
  allergens: Allergen[];
51
53
  confidence: number;
52
- createdAt: Timestamp;
53
54
  createdBy: string;
54
55
  cuisine: Cuisine;
55
56
  deletedAt?: Timestamp;
@@ -57,7 +58,6 @@ export interface Recipe {
57
58
  dietaryTags: DietaryTag[];
58
59
  difficulty: Difficulty;
59
60
  equipment?: Equipment[];
60
- id: string;
61
61
  imageUrl?: string;
62
62
  ingredientSections: IngredientSection[];
63
63
  instructions: Instruction[];
@@ -73,7 +73,10 @@ export interface Recipe {
73
73
  time: number;
74
74
  tips?: string[];
75
75
  title: string;
76
- updatedAt: Timestamp;
76
+ videoUrl?: string;
77
+ videoGeneratedAt?: Timestamp;
78
+ videoGenerationStatus?: VideoGenerationStatus;
79
+ videoGenerationError?: string;
77
80
  }
78
81
  export interface RecipeStats {
79
82
  comments: number;
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../src/types/recipe/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../src/types/recipe/recipe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { ReportPriority } from "./report_priority";
3
3
  import { ReportStatus } from "./report_status";
4
4
  import { ReportTargetType } from "./report_target_type";
@@ -9,12 +9,10 @@ export interface ReportEvidence {
9
9
  contentSnapshot?: string;
10
10
  imageHashes?: string[];
11
11
  }
12
- export interface Report {
12
+ export interface Report extends Entity {
13
13
  categories: string[];
14
- createdAt: Timestamp;
15
14
  description: string;
16
15
  evidence?: ReportEvidence;
17
- id: string;
18
16
  notes?: string;
19
17
  priority: ReportPriority;
20
18
  reason: string;
@@ -26,7 +24,6 @@ export interface Report {
26
24
  targetId: string;
27
25
  targetType: ReportTargetType;
28
26
  type: ReportType;
29
- updatedAt: Timestamp;
30
27
  userId: string;
31
28
  }
32
29
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/types/report/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/types/report/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cravery/core",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "Clean architecture foundation for Cravery",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/config/ai.ts CHANGED
@@ -36,4 +36,11 @@ export const AI_MODELS: AIConfig = {
36
36
  type: "embedding",
37
37
  cost: { input: 0.00015, output: 0 },
38
38
  },
39
+ Veo31Fast: {
40
+ id: "vertexai/veo-3.1-fast-generate-preview",
41
+ alias: "veo31fast",
42
+ name: "Veo 3.1 Fast",
43
+ type: "video",
44
+ cost: { input: 0, output: 0.10 },
45
+ },
39
46
  };
@@ -10,38 +10,38 @@ export interface TierLimits {
10
10
  export const LIMITS: Record<SubscriptionTier, TierLimits> = {
11
11
  free: {
12
12
  daily: {
13
- create: 1,
14
- extract: 2,
15
- scan: 1,
13
+ create: 0,
14
+ extract: 1,
15
+ scan: 0,
16
16
  },
17
17
  monthly: {
18
- create: 2,
19
- extract: 5,
20
- scan: 2,
18
+ create: 0,
19
+ extract: 1,
20
+ scan: 0,
21
21
  },
22
22
  },
23
23
  pro: {
24
24
  daily: {
25
- create: 10,
26
- extract: 25,
27
- scan: 15,
25
+ create: 8,
26
+ extract: 20,
27
+ scan: 10,
28
28
  },
29
29
  monthly: {
30
30
  create: 100,
31
- extract: 200,
32
- scan: 150,
31
+ extract: 150,
32
+ scan: 100,
33
33
  },
34
34
  },
35
35
  family: {
36
36
  daily: {
37
- create: 25,
38
- extract: 75,
39
- scan: 50,
37
+ create: 20,
38
+ extract: 60,
39
+ scan: 25,
40
40
  },
41
41
  monthly: {
42
42
  create: 250,
43
- extract: 500,
44
- scan: 200,
43
+ extract: 400,
44
+ scan: 250,
45
45
  },
46
46
  },
47
47
  };
@@ -1 +1,16 @@
1
- export const MAX_MEMBERS_FAMILY_PLAN = 3;
1
+ import { Price, SubscriptionTier } from "../types";
2
+
3
+ export const MAX_MEMBERS_FAMILY_PLAN = 4;
4
+
5
+ export const PRICING: Record<Exclude<SubscriptionTier, "free">, Price> = {
6
+ pro: {
7
+ currency: "USD",
8
+ monthly: 12.99,
9
+ yearly: 99.99,
10
+ },
11
+ family: {
12
+ currency: "USD",
13
+ monthly: 22.99,
14
+ yearly: 179.99,
15
+ },
16
+ };
@@ -3,14 +3,16 @@
3
3
  * - multimodal: cost per 1,000,000 input/output tokens
4
4
  * - image: cost per image (stored in cost.output)
5
5
  * - embedding: cost per 1,000 input tokens
6
+ * - video: cost per second of video (stored in cost.output)
6
7
  */
7
8
  export type AIModel =
8
9
  | "Gemini25Flash"
9
10
  | "Gemini25Pro"
10
11
  | "Gemini3Flash"
11
12
  | "Imagen4Fast"
12
- | "GeminiEmbedding001";
13
- export type AIModelType = "multimodal" | "image" | "embedding";
13
+ | "GeminiEmbedding001"
14
+ | "Veo31Fast";
15
+ export type AIModelType = "multimodal" | "image" | "embedding" | "video";
14
16
 
15
17
  export interface AIModelCost {
16
18
  input: number;
@@ -5,10 +5,10 @@ import {
5
5
  Spiciness,
6
6
  TemperatureUnit,
7
7
  } from "../recipe";
8
+ import { Entity } from "./entity";
8
9
  import { Locale } from "./locale";
9
10
  import { MeasurementSystem } from "./measurement_system";
10
11
  import { Theme } from "./theme";
11
- import { Timestamp } from "./timestamp";
12
12
 
13
13
  export interface NotificationSettings {
14
14
  email: boolean;
@@ -17,8 +17,7 @@ export interface NotificationSettings {
17
17
  weeklyDigest: boolean;
18
18
  }
19
19
 
20
- export interface Settings {
21
- id: string;
20
+ export interface Settings extends Entity {
22
21
  allergens: Allergen[];
23
22
  dietaryTags: DietaryTag[];
24
23
  cuisines: Cuisine[];
@@ -29,6 +28,4 @@ export interface Settings {
29
28
  measurementSystem: MeasurementSystem;
30
29
  theme: Theme;
31
30
  notifications: NotificationSettings;
32
- createdAt: Timestamp;
33
- updatedAt: Timestamp;
34
31
  }
@@ -1,15 +1,12 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity } from "../core";
2
2
  import { ProfileStatus } from "./profile_status";
3
3
 
4
- export interface Profile {
4
+ export interface Profile extends Entity {
5
5
  bio?: string;
6
- createdAt: Timestamp;
7
- id: string;
8
6
  imageUrl?: string;
9
7
  name: string;
10
8
  public: boolean;
11
9
  status: ProfileStatus;
12
- updatedAt: Timestamp;
13
10
  verified: boolean;
14
11
  }
15
12
 
@@ -1,4 +1,4 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { SubscriptionRole } from "./subscription_role";
3
3
  import { SubscriptionStatus } from "./subscription_status";
4
4
  import { SubscriptionTier } from "./subscription_tier";
@@ -11,11 +11,15 @@ export interface Member {
11
11
  joinedAt?: Timestamp;
12
12
  }
13
13
 
14
- export interface Subscription {
14
+ export interface Subscription extends Entity {
15
15
  expiresAt: Timestamp;
16
- id: string;
17
16
  members?: Member[];
18
17
  providerId: string;
19
18
  tier: SubscriptionTier;
20
- updatedAt: Timestamp;
19
+ }
20
+
21
+ export interface Price {
22
+ currency: string;
23
+ monthly: number;
24
+ yearly: number;
21
25
  }
@@ -1,17 +1,14 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { UserRole } from "./user_role";
3
3
  import { UserStatus } from "./user_status";
4
4
 
5
- export interface User {
6
- createdAt: Timestamp;
5
+ export interface User extends Entity {
7
6
  deletedAt?: Timestamp;
8
7
  email: string;
9
- id: string;
10
8
  imageUrl?: string;
11
9
  name: string;
12
10
  role: UserRole;
13
11
  status: UserStatus;
14
12
  subscriptionId?: string;
15
- updatedAt: Timestamp;
16
13
  verified: boolean;
17
14
  }
@@ -1,4 +1,4 @@
1
- import { Locale, Timestamp } from "../core";
1
+ import { Entity, Locale, Timestamp } from "../core";
2
2
  import { ModerationStatus } from "./moderation_status";
3
3
  import { Priority } from "./priority";
4
4
  import { Severity } from "./severity";
@@ -11,10 +11,8 @@ export interface ModerationSuggestion {
11
11
  suggestion: string;
12
12
  }
13
13
 
14
- export interface Moderation {
14
+ export interface Moderation extends Entity {
15
15
  assessedAt?: Timestamp;
16
- createdAt: Timestamp;
17
- id: string;
18
16
  originalLocale: Locale;
19
17
  priority: Priority;
20
18
  qualityScore?: number;
@@ -1,4 +1,4 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { Locale } from "../core/locale";
3
3
  import { Allergen } from "./allergen";
4
4
  import { Cuisine } from "./cuisine";
@@ -21,17 +21,21 @@ import { RecipeSource } from "./recipe_source";
21
21
  import { RecipeStatus } from "./recipe_status";
22
22
  import { Spiciness } from "./spiciness";
23
23
 
24
- export interface RecipeMeta {
24
+ export type VideoGenerationStatus =
25
+ | "idle" // No video generated yet
26
+ | "generating" // Video generation in progress
27
+ | "completed" // Video successfully generated
28
+ | "failed"; // Video generation failed
29
+
30
+ export interface RecipeMeta extends Entity {
25
31
  allergens: Allergen[];
26
32
  confidence: number;
27
- createdAt: Timestamp;
28
33
  createdBy: string;
29
34
  cuisine: Cuisine;
30
35
  deletedAt?: Timestamp;
31
36
  dietaryTags: DietaryTag[];
32
37
  difficulty: Difficulty;
33
38
  equipment?: EquipmentMeta[];
34
- id: string;
35
39
  imageUrl?: string;
36
40
  ingredientSections: IngredientSectionMeta[];
37
41
  instructions: InstructionMeta[];
@@ -44,7 +48,11 @@ export interface RecipeMeta {
44
48
  spiciness: Spiciness;
45
49
  status: RecipeStatus;
46
50
  time: number;
47
- updatedAt: Timestamp;
51
+ // Video generation fields
52
+ videoUrl?: string;
53
+ videoGeneratedAt?: Timestamp;
54
+ videoGenerationStatus?: VideoGenerationStatus;
55
+ videoGenerationError?: string;
48
56
  }
49
57
 
50
58
  export interface RecipeContent {
@@ -57,10 +65,9 @@ export interface RecipeContent {
57
65
  title: string;
58
66
  }
59
67
 
60
- export interface Recipe {
68
+ export interface Recipe extends Entity {
61
69
  allergens: Allergen[];
62
70
  confidence: number;
63
- createdAt: Timestamp;
64
71
  createdBy: string;
65
72
  cuisine: Cuisine;
66
73
  deletedAt?: Timestamp;
@@ -68,7 +75,6 @@ export interface Recipe {
68
75
  dietaryTags: DietaryTag[];
69
76
  difficulty: Difficulty;
70
77
  equipment?: Equipment[];
71
- id: string;
72
78
  imageUrl?: string;
73
79
  ingredientSections: IngredientSection[];
74
80
  instructions: Instruction[];
@@ -84,7 +90,11 @@ export interface Recipe {
84
90
  time: number;
85
91
  tips?: string[];
86
92
  title: string;
87
- updatedAt: Timestamp;
93
+ // Video generation fields
94
+ videoUrl?: string;
95
+ videoGeneratedAt?: Timestamp;
96
+ videoGenerationStatus?: VideoGenerationStatus;
97
+ videoGenerationError?: string;
88
98
  }
89
99
 
90
100
  export interface RecipeStats {
@@ -1,4 +1,4 @@
1
- import { Timestamp } from "../core";
1
+ import { Entity, Timestamp } from "../core";
2
2
  import { ReportPriority } from "./report_priority";
3
3
  import { ReportStatus } from "./report_status";
4
4
  import { ReportTargetType } from "./report_target_type";
@@ -11,12 +11,10 @@ export interface ReportEvidence {
11
11
  imageHashes?: string[];
12
12
  }
13
13
 
14
- export interface Report {
14
+ export interface Report extends Entity {
15
15
  categories: string[];
16
- createdAt: Timestamp;
17
16
  description: string;
18
17
  evidence?: ReportEvidence;
19
- id: string;
20
18
  notes?: string;
21
19
  priority: ReportPriority;
22
20
  reason: string;
@@ -28,6 +26,5 @@ export interface Report {
28
26
  targetId: string;
29
27
  targetType: ReportTargetType;
30
28
  type: ReportType;
31
- updatedAt: Timestamp;
32
29
  userId: string;
33
30
  }