@cravery/core 0.0.1 → 0.0.3

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 (280) hide show
  1. package/dist/config/ai.d.ts +3 -0
  2. package/dist/config/ai.d.ts.map +1 -0
  3. package/dist/config/ai.js +36 -0
  4. package/dist/config/ai.js.map +1 -0
  5. package/dist/config/collections.d.ts +8 -0
  6. package/dist/config/collections.d.ts.map +1 -0
  7. package/dist/config/collections.js +11 -0
  8. package/dist/config/collections.js.map +1 -0
  9. package/dist/config/common.d.ts +2 -0
  10. package/dist/config/common.d.ts.map +1 -0
  11. package/dist/config/common.js +5 -0
  12. package/dist/config/common.js.map +1 -0
  13. package/dist/config/credits.d.ts +2 -0
  14. package/dist/config/credits.d.ts.map +1 -0
  15. package/dist/config/credits.js +5 -0
  16. package/dist/config/credits.js.map +1 -0
  17. package/dist/config/index.d.ts +4 -0
  18. package/dist/config/index.d.ts.map +1 -0
  19. package/dist/config/index.js +20 -0
  20. package/dist/config/index.js.map +1 -0
  21. package/dist/enums/allergen.d.ts +19 -0
  22. package/dist/enums/allergen.d.ts.map +1 -0
  23. package/dist/enums/allergen.js +21 -0
  24. package/dist/enums/allergen.js.map +1 -0
  25. package/dist/enums/cuisine.d.ts +39 -0
  26. package/dist/enums/cuisine.d.ts.map +1 -0
  27. package/dist/enums/cuisine.js +41 -0
  28. package/dist/enums/cuisine.js.map +1 -0
  29. package/dist/enums/dietary_tag.d.ts +21 -0
  30. package/dist/enums/dietary_tag.d.ts.map +1 -0
  31. package/dist/enums/dietary_tag.js +23 -0
  32. package/dist/enums/dietary_tag.js.map +1 -0
  33. package/dist/enums/difficulty.d.ts +10 -0
  34. package/dist/enums/difficulty.d.ts.map +1 -0
  35. package/dist/enums/difficulty.js +12 -0
  36. package/dist/enums/difficulty.js.map +1 -0
  37. package/dist/enums/image_type.d.ts +8 -0
  38. package/dist/enums/image_type.d.ts.map +1 -0
  39. package/dist/enums/image_type.js +7 -0
  40. package/dist/enums/image_type.js.map +1 -0
  41. package/dist/enums/index.d.ts +22 -0
  42. package/dist/enums/index.d.ts.map +1 -0
  43. package/dist/enums/index.js +38 -0
  44. package/dist/enums/index.js.map +1 -0
  45. package/dist/enums/locale.d.ts +11 -0
  46. package/dist/enums/locale.d.ts.map +1 -0
  47. package/dist/enums/locale.js +7 -0
  48. package/dist/enums/locale.js.map +1 -0
  49. package/dist/enums/meal_type.d.ts +14 -0
  50. package/dist/enums/meal_type.d.ts.map +1 -0
  51. package/dist/enums/meal_type.js +16 -0
  52. package/dist/enums/meal_type.js.map +1 -0
  53. package/dist/enums/moderation_status.d.ts +9 -0
  54. package/dist/enums/moderation_status.d.ts.map +1 -0
  55. package/dist/enums/moderation_status.js +11 -0
  56. package/dist/enums/moderation_status.js.map +1 -0
  57. package/dist/enums/priority.d.ts +9 -0
  58. package/dist/enums/priority.d.ts.map +1 -0
  59. package/dist/enums/priority.js +7 -0
  60. package/dist/enums/priority.js.map +1 -0
  61. package/dist/enums/profile_status.d.ts +10 -0
  62. package/dist/enums/profile_status.d.ts.map +1 -0
  63. package/dist/enums/profile_status.js +12 -0
  64. package/dist/enums/profile_status.js.map +1 -0
  65. package/dist/enums/recipe_source.d.ts +10 -0
  66. package/dist/enums/recipe_source.d.ts.map +1 -0
  67. package/dist/enums/recipe_source.js +7 -0
  68. package/dist/enums/recipe_source.js.map +1 -0
  69. package/dist/enums/recipe_status.d.ts +10 -0
  70. package/dist/enums/recipe_status.d.ts.map +1 -0
  71. package/dist/enums/recipe_status.js +12 -0
  72. package/dist/enums/recipe_status.js.map +1 -0
  73. package/dist/enums/role.d.ts +11 -0
  74. package/dist/enums/role.d.ts.map +1 -0
  75. package/dist/enums/role.js +13 -0
  76. package/dist/enums/role.js.map +1 -0
  77. package/dist/enums/severity.d.ts +9 -0
  78. package/dist/enums/severity.d.ts.map +1 -0
  79. package/dist/enums/severity.js +7 -0
  80. package/dist/enums/severity.js.map +1 -0
  81. package/dist/enums/spiciness.d.ts +10 -0
  82. package/dist/enums/spiciness.d.ts.map +1 -0
  83. package/dist/enums/spiciness.js +7 -0
  84. package/dist/enums/spiciness.js.map +1 -0
  85. package/dist/enums/status.d.ts +11 -0
  86. package/dist/enums/status.d.ts.map +1 -0
  87. package/dist/enums/status.js +13 -0
  88. package/dist/enums/status.js.map +1 -0
  89. package/dist/enums/subscription_tier.d.ts +8 -0
  90. package/dist/enums/subscription_tier.d.ts.map +1 -0
  91. package/dist/enums/subscription_tier.js +6 -0
  92. package/dist/enums/subscription_tier.js.map +1 -0
  93. package/dist/enums/suggestion_category.d.ts +11 -0
  94. package/dist/enums/suggestion_category.d.ts.map +1 -0
  95. package/dist/enums/suggestion_category.js +13 -0
  96. package/dist/enums/suggestion_category.js.map +1 -0
  97. package/dist/enums/temperature_unit.d.ts +8 -0
  98. package/dist/enums/temperature_unit.d.ts.map +1 -0
  99. package/dist/enums/temperature_unit.js +7 -0
  100. package/dist/enums/temperature_unit.js.map +1 -0
  101. package/dist/enums/unit.d.ts +43 -0
  102. package/dist/enums/unit.d.ts.map +1 -0
  103. package/dist/enums/unit.js +53 -0
  104. package/dist/enums/unit.js.map +1 -0
  105. package/dist/enums/url_type.d.ts +13 -0
  106. package/dist/enums/url_type.d.ts.map +1 -0
  107. package/dist/enums/url_type.js +15 -0
  108. package/dist/enums/url_type.js.map +1 -0
  109. package/dist/enums/user_status.d.ts +10 -0
  110. package/dist/enums/user_status.d.ts.map +1 -0
  111. package/dist/enums/user_status.js +12 -0
  112. package/dist/enums/user_status.js.map +1 -0
  113. package/dist/index.d.ts +4 -1
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +18 -0
  116. package/dist/index.js.map +1 -1
  117. package/dist/lib/api.d.ts +18 -0
  118. package/dist/lib/api.d.ts.map +1 -0
  119. package/dist/lib/api.js +69 -0
  120. package/dist/lib/api.js.map +1 -0
  121. package/dist/lib/cost.d.ts +22 -0
  122. package/dist/lib/cost.d.ts.map +1 -0
  123. package/dist/lib/cost.js +45 -0
  124. package/dist/lib/cost.js.map +1 -0
  125. package/dist/lib/embedding.d.ts +4 -0
  126. package/dist/lib/embedding.d.ts.map +1 -0
  127. package/dist/lib/embedding.js +48 -0
  128. package/dist/lib/embedding.js.map +1 -0
  129. package/dist/lib/firebase.d.ts +3 -0
  130. package/dist/lib/firebase.d.ts.map +1 -0
  131. package/dist/lib/firebase.js +8 -0
  132. package/dist/lib/firebase.js.map +1 -0
  133. package/dist/lib/flow.d.ts +53 -0
  134. package/dist/lib/flow.d.ts.map +1 -0
  135. package/dist/lib/flow.js +60 -0
  136. package/dist/lib/flow.js.map +1 -0
  137. package/dist/lib/genkit.d.ts +4 -0
  138. package/dist/lib/genkit.d.ts.map +1 -0
  139. package/dist/lib/genkit.js +16 -0
  140. package/dist/lib/genkit.js.map +1 -0
  141. package/dist/lib/iam.d.ts +3 -0
  142. package/dist/lib/iam.d.ts.map +1 -0
  143. package/dist/lib/iam.js +57 -0
  144. package/dist/lib/iam.js.map +1 -0
  145. package/dist/lib/image.d.ts +7 -0
  146. package/dist/lib/image.d.ts.map +1 -0
  147. package/dist/lib/image.js +24 -0
  148. package/dist/lib/image.js.map +1 -0
  149. package/dist/lib/index.d.ts +10 -0
  150. package/dist/lib/index.d.ts.map +1 -0
  151. package/dist/lib/index.js +26 -0
  152. package/dist/lib/index.js.map +1 -0
  153. package/dist/lib/storage.d.ts +6 -0
  154. package/dist/lib/storage.d.ts.map +1 -0
  155. package/dist/lib/storage.js +34 -0
  156. package/dist/lib/storage.js.map +1 -0
  157. package/dist/types/ai/config.d.ts +20 -0
  158. package/dist/types/ai/config.d.ts.map +1 -0
  159. package/dist/types/ai/config.js +3 -0
  160. package/dist/types/ai/config.js.map +1 -0
  161. package/dist/types/ai/filters.d.ts +82 -0
  162. package/dist/types/ai/filters.d.ts.map +1 -0
  163. package/dist/types/ai/filters.js +16 -0
  164. package/dist/types/ai/filters.js.map +1 -0
  165. package/dist/types/ai/index.d.ts +5 -0
  166. package/dist/types/ai/index.d.ts.map +1 -0
  167. package/dist/types/ai/index.js +21 -0
  168. package/dist/types/ai/index.js.map +1 -0
  169. package/dist/types/ai/recipe.d.ts +179 -0
  170. package/dist/types/ai/recipe.d.ts.map +1 -0
  171. package/dist/types/ai/recipe.js +28 -0
  172. package/dist/types/ai/recipe.js.map +1 -0
  173. package/dist/types/ai/translation.d.ts +26 -0
  174. package/dist/types/ai/translation.d.ts.map +1 -0
  175. package/dist/types/ai/translation.js +16 -0
  176. package/dist/types/ai/translation.js.map +1 -0
  177. package/dist/types/equipment.d.ts +20 -0
  178. package/dist/types/equipment.d.ts.map +1 -0
  179. package/dist/types/equipment.js +16 -0
  180. package/dist/types/equipment.js.map +1 -0
  181. package/dist/types/error.d.ts +14 -0
  182. package/dist/types/error.d.ts.map +1 -0
  183. package/dist/types/error.js +40 -0
  184. package/dist/types/error.js.map +1 -0
  185. package/dist/types/index.d.ts +13 -0
  186. package/dist/types/index.d.ts.map +1 -0
  187. package/dist/types/index.js +29 -0
  188. package/dist/types/index.js.map +1 -0
  189. package/dist/types/ingredient.d.ts +209 -0
  190. package/dist/types/ingredient.d.ts.map +1 -0
  191. package/dist/types/ingredient.js +33 -0
  192. package/dist/types/ingredient.js.map +1 -0
  193. package/dist/types/instruction.d.ts +32 -0
  194. package/dist/types/instruction.d.ts.map +1 -0
  195. package/dist/types/instruction.js +16 -0
  196. package/dist/types/instruction.js.map +1 -0
  197. package/dist/types/moderation.d.ts +87 -0
  198. package/dist/types/moderation.d.ts.map +1 -0
  199. package/dist/types/moderation.js +38 -0
  200. package/dist/types/moderation.js.map +1 -0
  201. package/dist/types/nutrition.d.ts +18 -0
  202. package/dist/types/nutrition.d.ts.map +1 -0
  203. package/dist/types/nutrition.js +20 -0
  204. package/dist/types/nutrition.js.map +1 -0
  205. package/dist/types/profile.d.ts +30 -0
  206. package/dist/types/profile.d.ts.map +1 -0
  207. package/dist/types/profile.js +26 -0
  208. package/dist/types/profile.js.map +1 -0
  209. package/dist/types/recipe.d.ts +448 -0
  210. package/dist/types/recipe.d.ts.map +1 -0
  211. package/dist/types/recipe.js +82 -0
  212. package/dist/types/recipe.js.map +1 -0
  213. package/dist/types/subscription.d.ts +16 -0
  214. package/dist/types/subscription.d.ts.map +1 -0
  215. package/dist/types/subscription.js +14 -0
  216. package/dist/types/subscription.js.map +1 -0
  217. package/dist/types/temperature.d.ts +10 -0
  218. package/dist/types/temperature.d.ts.map +1 -0
  219. package/dist/types/temperature.js +10 -0
  220. package/dist/types/temperature.js.map +1 -0
  221. package/dist/types/user.d.ts +26 -0
  222. package/dist/types/user.d.ts.map +1 -0
  223. package/dist/types/user.js +17 -0
  224. package/dist/types/user.js.map +1 -0
  225. package/package.json +3 -1
  226. package/src/config/ai.ts +34 -0
  227. package/src/config/collections.ts +7 -0
  228. package/src/config/common.ts +1 -0
  229. package/src/config/index.ts +3 -0
  230. package/src/enums/allergen.ts +19 -0
  231. package/src/enums/cuisine.ts +39 -0
  232. package/src/enums/dietary_tag.ts +21 -0
  233. package/src/enums/difficulty.ts +10 -0
  234. package/src/enums/image_type.ts +5 -0
  235. package/src/enums/index.ts +21 -0
  236. package/src/enums/locale.ts +5 -0
  237. package/src/enums/meal_type.ts +14 -0
  238. package/src/enums/moderation_status.ts +9 -0
  239. package/src/enums/priority.ts +5 -0
  240. package/src/enums/profile_status.ts +10 -0
  241. package/src/enums/recipe_source.ts +5 -0
  242. package/src/enums/recipe_status.ts +10 -0
  243. package/src/enums/role.ts +11 -0
  244. package/src/enums/severity.ts +5 -0
  245. package/src/enums/spiciness.ts +5 -0
  246. package/src/enums/status.ts +11 -0
  247. package/src/enums/subscription_tier.ts +4 -0
  248. package/src/enums/suggestion_category.ts +11 -0
  249. package/src/enums/temperature_unit.ts +5 -0
  250. package/src/enums/unit.ts +51 -0
  251. package/src/enums/url_type.ts +13 -0
  252. package/src/enums/user_status.ts +10 -0
  253. package/src/index.ts +4 -0
  254. package/src/lib/api.ts +90 -0
  255. package/src/lib/cost.ts +72 -0
  256. package/src/lib/embedding.ts +53 -0
  257. package/src/lib/firebase.ts +5 -0
  258. package/src/lib/flow.ts +88 -0
  259. package/src/lib/genkit.ts +18 -0
  260. package/src/lib/iam.ts +22 -0
  261. package/src/lib/image.ts +28 -0
  262. package/src/lib/index.ts +9 -0
  263. package/src/lib/storage.ts +42 -0
  264. package/src/types/ai/config.ts +27 -0
  265. package/src/types/ai/filters.ts +20 -0
  266. package/src/types/ai/index.ts +4 -0
  267. package/src/types/ai/recipe.ts +33 -0
  268. package/src/types/ai/translation.ts +14 -0
  269. package/src/types/equipment.ts +21 -0
  270. package/src/types/error.ts +43 -0
  271. package/src/types/index.ts +12 -0
  272. package/src/types/ingredient.ts +46 -0
  273. package/src/types/instruction.ts +21 -0
  274. package/src/types/moderation.ts +48 -0
  275. package/src/types/nutrition.ts +18 -0
  276. package/src/types/profile.ts +27 -0
  277. package/src/types/recipe.ts +109 -0
  278. package/src/types/subscription.ts +13 -0
  279. package/src/types/temperature.ts +8 -0
  280. package/src/types/user.ts +16 -0
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfileStatusSchema = exports.PROFILE_STATUS_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.PROFILE_STATUS_VALUES = [
6
+ "active",
7
+ "deleted",
8
+ "pending",
9
+ "suspended",
10
+ ];
11
+ exports.ProfileStatusSchema = zod_1.z.enum(exports.PROFILE_STATUS_VALUES);
12
+ //# sourceMappingURL=profile_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile_status.js","sourceRoot":"","sources":["../../src/enums/profile_status.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,qBAAqB,GAAG;IACnC,QAAQ;IACR,SAAS;IACT,SAAS;IACT,WAAW;CACH,CAAC;AACE,QAAA,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,6BAAqB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ export declare const RECIPE_SOURCE_VALUES: readonly ["image", "text", "url", "video"];
3
+ export declare const RecipeSourceSchema: z.ZodEnum<{
4
+ image: "image";
5
+ text: "text";
6
+ url: "url";
7
+ video: "video";
8
+ }>;
9
+ export type RecipeSource = (typeof RECIPE_SOURCE_VALUES)[number];
10
+ //# sourceMappingURL=recipe_source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe_source.d.ts","sourceRoot":"","sources":["../../src/enums/recipe_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,4CAA6C,CAAC;AAC/E,eAAO,MAAM,kBAAkB;;;;;EAA+B,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecipeSourceSchema = exports.RECIPE_SOURCE_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.RECIPE_SOURCE_VALUES = ["image", "text", "url", "video"];
6
+ exports.RecipeSourceSchema = zod_1.z.enum(exports.RECIPE_SOURCE_VALUES);
7
+ //# sourceMappingURL=recipe_source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe_source.js","sourceRoot":"","sources":["../../src/enums/recipe_source.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC;AAClE,QAAA,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,4BAAoB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ export declare const RECIPE_STATUS_VALUES: readonly ["active", "archived", "deleted", "pending"];
3
+ export declare const RecipeStatusSchema: z.ZodEnum<{
4
+ pending: "pending";
5
+ active: "active";
6
+ deleted: "deleted";
7
+ archived: "archived";
8
+ }>;
9
+ export type RecipeStatus = (typeof RECIPE_STATUS_VALUES)[number];
10
+ //# sourceMappingURL=recipe_status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe_status.d.ts","sourceRoot":"","sources":["../../src/enums/recipe_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,uDAKvB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;EAA+B,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecipeStatusSchema = exports.RECIPE_STATUS_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.RECIPE_STATUS_VALUES = [
6
+ "active",
7
+ "archived",
8
+ "deleted",
9
+ "pending",
10
+ ];
11
+ exports.RecipeStatusSchema = zod_1.z.enum(exports.RECIPE_STATUS_VALUES);
12
+ //# sourceMappingURL=recipe_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe_status.js","sourceRoot":"","sources":["../../src/enums/recipe_status.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,oBAAoB,GAAG;IAClC,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;CACD,CAAC;AACE,QAAA,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,4BAAoB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const ROLE_VALUES: readonly ["admin", "moderator", "translator", "user", "guest"];
3
+ export declare const RoleSchema: z.ZodEnum<{
4
+ admin: "admin";
5
+ moderator: "moderator";
6
+ translator: "translator";
7
+ user: "user";
8
+ guest: "guest";
9
+ }>;
10
+ export type Role = (typeof ROLE_VALUES)[number];
11
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/enums/role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW,gEAMd,CAAC;AACX,eAAO,MAAM,UAAU;;;;;;EAAsB,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleSchema = exports.ROLE_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.ROLE_VALUES = [
6
+ "admin",
7
+ "moderator",
8
+ "translator",
9
+ "user",
10
+ "guest",
11
+ ];
12
+ exports.RoleSchema = zod_1.z.enum(exports.ROLE_VALUES);
13
+ //# sourceMappingURL=role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/enums/role.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,WAAW;IACX,YAAY;IACZ,MAAM;IACN,OAAO;CACC,CAAC;AACE,QAAA,UAAU,GAAG,OAAC,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ export declare const SEVERITY_VALUES: readonly ["low", "medium", "high"];
3
+ export declare const SeveritySchema: z.ZodEnum<{
4
+ low: "low";
5
+ medium: "medium";
6
+ high: "high";
7
+ }>;
8
+ export type Severity = (typeof SEVERITY_VALUES)[number];
9
+ //# sourceMappingURL=severity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"severity.d.ts","sourceRoot":"","sources":["../../src/enums/severity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,oCAAqC,CAAC;AAClE,eAAO,MAAM,cAAc;;;;EAA0B,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SeveritySchema = exports.SEVERITY_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.SEVERITY_VALUES = ["low", "medium", "high"];
6
+ exports.SeveritySchema = zod_1.z.enum(exports.SEVERITY_VALUES);
7
+ //# sourceMappingURL=severity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"severity.js","sourceRoot":"","sources":["../../src/enums/severity.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AACrD,QAAA,cAAc,GAAG,OAAC,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ export declare const SPICINESS_VALUES: readonly ["none", "mild", "medium", "hot"];
3
+ export declare const SpicinessSchema: z.ZodEnum<{
4
+ medium: "medium";
5
+ none: "none";
6
+ mild: "mild";
7
+ hot: "hot";
8
+ }>;
9
+ export type Spiciness = (typeof SPICINESS_VALUES)[number];
10
+ //# sourceMappingURL=spiciness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spiciness.d.ts","sourceRoot":"","sources":["../../src/enums/spiciness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAC3E,eAAO,MAAM,eAAe;;;;;EAA2B,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpicinessSchema = exports.SPICINESS_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.SPICINESS_VALUES = ["none", "mild", "medium", "hot"];
6
+ exports.SpicinessSchema = zod_1.z.enum(exports.SPICINESS_VALUES);
7
+ //# sourceMappingURL=spiciness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spiciness.js","sourceRoot":"","sources":["../../src/enums/spiciness.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAC9D,QAAA,eAAe,GAAG,OAAC,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const STATUS_VALUES: readonly ["active", "archived", "cancelled", "deleted", "pending"];
3
+ export declare const StatusSchema: z.ZodEnum<{
4
+ pending: "pending";
5
+ active: "active";
6
+ deleted: "deleted";
7
+ archived: "archived";
8
+ cancelled: "cancelled";
9
+ }>;
10
+ export type Status = (typeof STATUS_VALUES)[number];
11
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/enums/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,oEAMhB,CAAC;AACX,eAAO,MAAM,YAAY;;;;;;EAAwB,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatusSchema = exports.STATUS_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.STATUS_VALUES = [
6
+ "active",
7
+ "archived",
8
+ "cancelled",
9
+ "deleted",
10
+ "pending",
11
+ ];
12
+ exports.StatusSchema = zod_1.z.enum(exports.STATUS_VALUES);
13
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/enums/status.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,aAAa,GAAG;IAC3B,QAAQ;IACR,UAAU;IACV,WAAW;IACX,SAAS;IACT,SAAS;CACD,CAAC;AACE,QAAA,YAAY,GAAG,OAAC,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ export declare const SubscriptionTierSchema: z.ZodEnum<{
3
+ family: "family";
4
+ free: "free";
5
+ pro: "pro";
6
+ }>;
7
+ export type SubscriptionTier = z.infer<typeof SubscriptionTierSchema>;
8
+ //# sourceMappingURL=subscription_tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription_tier.d.ts","sourceRoot":"","sources":["../../src/enums/subscription_tier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;EAAoC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscriptionTierSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.SubscriptionTierSchema = zod_1.z.enum(["family", "free", "pro"]);
6
+ //# sourceMappingURL=subscription_tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription_tier.js","sourceRoot":"","sources":["../../src/enums/subscription_tier.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,sBAAsB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const SUGGESTION_CATEGORY_VALUES: readonly ["missing_info", "unclear_instruction", "image_quality", "nutrition", "safety"];
3
+ export declare const SuggestionCategorySchema: z.ZodEnum<{
4
+ missing_info: "missing_info";
5
+ unclear_instruction: "unclear_instruction";
6
+ image_quality: "image_quality";
7
+ nutrition: "nutrition";
8
+ safety: "safety";
9
+ }>;
10
+ export type SuggestionCategory = z.infer<typeof SuggestionCategorySchema>;
11
+ //# sourceMappingURL=suggestion_category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestion_category.d.ts","sourceRoot":"","sources":["../../src/enums/suggestion_category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,0BAA0B,0FAM7B,CAAC;AACX,eAAO,MAAM,wBAAwB;;;;;;EAAqC,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SuggestionCategorySchema = exports.SUGGESTION_CATEGORY_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.SUGGESTION_CATEGORY_VALUES = [
6
+ "missing_info",
7
+ "unclear_instruction",
8
+ "image_quality",
9
+ "nutrition",
10
+ "safety",
11
+ ];
12
+ exports.SuggestionCategorySchema = zod_1.z.enum(exports.SUGGESTION_CATEGORY_VALUES);
13
+ //# sourceMappingURL=suggestion_category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestion_category.js","sourceRoot":"","sources":["../../src/enums/suggestion_category.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,0BAA0B,GAAG;IACxC,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,WAAW;IACX,QAAQ;CACA,CAAC;AACE,QAAA,wBAAwB,GAAG,OAAC,CAAC,IAAI,CAAC,kCAA0B,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ export declare const TEMPERATURE_UNIT_VALUES: readonly ["celsius", "fahrenheit"];
3
+ export declare const TemperatureUnitSchema: z.ZodEnum<{
4
+ celsius: "celsius";
5
+ fahrenheit: "fahrenheit";
6
+ }>;
7
+ export type TemperatureUnit = (typeof TEMPERATURE_UNIT_VALUES)[number];
8
+ //# sourceMappingURL=temperature_unit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temperature_unit.d.ts","sourceRoot":"","sources":["../../src/enums/temperature_unit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB,oCAAqC,CAAC;AAC1E,eAAO,MAAM,qBAAqB;;;EAAkC,CAAC;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemperatureUnitSchema = exports.TEMPERATURE_UNIT_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.TEMPERATURE_UNIT_VALUES = ["celsius", "fahrenheit"];
6
+ exports.TemperatureUnitSchema = zod_1.z.enum(exports.TEMPERATURE_UNIT_VALUES);
7
+ //# sourceMappingURL=temperature_unit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temperature_unit.js","sourceRoot":"","sources":["../../src/enums/temperature_unit.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,uBAAuB,GAAG,CAAC,SAAS,EAAE,YAAY,CAAU,CAAC;AAC7D,QAAA,qBAAqB,GAAG,OAAC,CAAC,IAAI,CAAC,+BAAuB,CAAC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { z } from "zod";
2
+ export declare const UNIT_VALUES: readonly ["ml", "l", "tsp", "tbsp", "fl_oz", "cup", "pint", "quart", "gallon", "mg", "g", "kg", "oz", "lb", "piece", "whole", "half", "quarter", "slice", "serving", "clove", "stalk", "sprig", "leaf", "bunch", "head", "fillet", "stick", "sheet", "can", "package", "bottle", "jar", "handful", "pinch", "dash", "drop"];
3
+ export declare const UnitSchema: z.ZodEnum<{
4
+ ml: "ml";
5
+ l: "l";
6
+ tsp: "tsp";
7
+ tbsp: "tbsp";
8
+ fl_oz: "fl_oz";
9
+ cup: "cup";
10
+ pint: "pint";
11
+ quart: "quart";
12
+ gallon: "gallon";
13
+ mg: "mg";
14
+ g: "g";
15
+ kg: "kg";
16
+ oz: "oz";
17
+ lb: "lb";
18
+ piece: "piece";
19
+ whole: "whole";
20
+ half: "half";
21
+ quarter: "quarter";
22
+ slice: "slice";
23
+ serving: "serving";
24
+ clove: "clove";
25
+ stalk: "stalk";
26
+ sprig: "sprig";
27
+ leaf: "leaf";
28
+ bunch: "bunch";
29
+ head: "head";
30
+ fillet: "fillet";
31
+ stick: "stick";
32
+ sheet: "sheet";
33
+ can: "can";
34
+ package: "package";
35
+ bottle: "bottle";
36
+ jar: "jar";
37
+ handful: "handful";
38
+ pinch: "pinch";
39
+ dash: "dash";
40
+ drop: "drop";
41
+ }>;
42
+ export type Unit = (typeof UNIT_VALUES)[number];
43
+ //# sourceMappingURL=unit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/enums/unit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW,6TA8Cd,CAAC;AACX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsB,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnitSchema = exports.UNIT_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.UNIT_VALUES = [
6
+ // Volume (metric)
7
+ "ml",
8
+ "l",
9
+ // Volume (imperial)
10
+ "tsp",
11
+ "tbsp",
12
+ "fl_oz",
13
+ "cup",
14
+ "pint",
15
+ "quart",
16
+ "gallon",
17
+ // Weight (metric)
18
+ "mg",
19
+ "g",
20
+ "kg",
21
+ // Weight (imperial)
22
+ "oz",
23
+ "lb",
24
+ // Count/portion
25
+ "piece",
26
+ "whole",
27
+ "half",
28
+ "quarter",
29
+ "slice",
30
+ "serving",
31
+ // Produce-specific
32
+ "clove",
33
+ "stalk",
34
+ "sprig",
35
+ "leaf",
36
+ "bunch",
37
+ "head",
38
+ "fillet",
39
+ "stick",
40
+ "sheet",
41
+ // Container
42
+ "can",
43
+ "package",
44
+ "bottle",
45
+ "jar",
46
+ // Imprecise
47
+ "handful",
48
+ "pinch",
49
+ "dash",
50
+ "drop",
51
+ ];
52
+ exports.UnitSchema = zod_1.z.enum(exports.UNIT_VALUES);
53
+ //# sourceMappingURL=unit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.js","sourceRoot":"","sources":["../../src/enums/unit.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,WAAW,GAAG;IACzB,kBAAkB;IAClB,IAAI;IACJ,GAAG;IACH,oBAAoB;IACpB,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,kBAAkB;IAClB,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,oBAAoB;IACpB,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,mBAAmB;IACnB,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,YAAY;IACZ,KAAK;IACL,SAAS;IACT,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;CACE,CAAC;AACE,QAAA,UAAU,GAAG,OAAC,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ export declare const URL_TYPE_VALUES: readonly ["facebook", "instagram", "pdf", "pinterest", "tiktok", "website", "youtube"];
3
+ export declare const UrlTypeSchema: z.ZodEnum<{
4
+ facebook: "facebook";
5
+ instagram: "instagram";
6
+ pdf: "pdf";
7
+ pinterest: "pinterest";
8
+ tiktok: "tiktok";
9
+ website: "website";
10
+ youtube: "youtube";
11
+ }>;
12
+ export type UrlType = z.infer<typeof UrlTypeSchema>;
13
+ //# sourceMappingURL=url_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url_type.d.ts","sourceRoot":"","sources":["../../src/enums/url_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,wFAQlB,CAAC;AACX,eAAO,MAAM,aAAa;;;;;;;;EAA0B,CAAC;AACrD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UrlTypeSchema = exports.URL_TYPE_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.URL_TYPE_VALUES = [
6
+ "facebook",
7
+ "instagram",
8
+ "pdf",
9
+ "pinterest",
10
+ "tiktok",
11
+ "website",
12
+ "youtube",
13
+ ];
14
+ exports.UrlTypeSchema = zod_1.z.enum(exports.URL_TYPE_VALUES);
15
+ //# sourceMappingURL=url_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url_type.js","sourceRoot":"","sources":["../../src/enums/url_type.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,WAAW;IACX,KAAK;IACL,WAAW;IACX,QAAQ;IACR,SAAS;IACT,SAAS;CACD,CAAC;AACE,QAAA,aAAa,GAAG,OAAC,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ export declare const USER_STATUS_VALUES: readonly ["active", "deleted", "pending", "suspended"];
3
+ export declare const UserStatusSchema: z.ZodEnum<{
4
+ pending: "pending";
5
+ active: "active";
6
+ deleted: "deleted";
7
+ suspended: "suspended";
8
+ }>;
9
+ export type UserStatus = (typeof USER_STATUS_VALUES)[number];
10
+ //# sourceMappingURL=user_status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user_status.d.ts","sourceRoot":"","sources":["../../src/enums/user_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,wDAKrB,CAAC;AACX,eAAO,MAAM,gBAAgB;;;;;EAA6B,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserStatusSchema = exports.USER_STATUS_VALUES = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.USER_STATUS_VALUES = [
6
+ "active",
7
+ "deleted",
8
+ "pending",
9
+ "suspended",
10
+ ];
11
+ exports.UserStatusSchema = zod_1.z.enum(exports.USER_STATUS_VALUES);
12
+ //# sourceMappingURL=user_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user_status.js","sourceRoot":"","sources":["../../src/enums/user_status.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,kBAAkB,GAAG;IAChC,QAAQ;IACR,SAAS;IACT,SAAS;IACT,WAAW;CACH,CAAC;AACE,QAAA,gBAAgB,GAAG,OAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,5 @@
1
- export {};
1
+ export * from "./config";
2
+ export * from "./enums";
3
+ export * from "./lib";
4
+ export * from "./types";
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./config"), exports);
18
+ __exportStar(require("./enums"), exports);
19
+ __exportStar(require("./lib"), exports);
20
+ __exportStar(require("./types"), exports);
3
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,wCAAsB;AACtB,0CAAwB"}
@@ -0,0 +1,18 @@
1
+ import { CallableRequest, CallableOptions } from "firebase-functions/v2/https";
2
+ import { z } from "zod";
3
+ declare class CallableBuilder<T> {
4
+ private schema;
5
+ private requiresAuth;
6
+ private requiresAdmin;
7
+ private requiresModerator;
8
+ private options;
9
+ constructor(schema: z.ZodSchema<T>);
10
+ withOptions(options: CallableOptions): this;
11
+ requireUser(): this;
12
+ requireAdmin(): this;
13
+ requireModerator(): this;
14
+ handle<R>(handler: (data: T, request: CallableRequest) => Promise<R>): import("firebase-functions/v2/https").CallableFunction<any, Promise<R>, unknown>;
15
+ }
16
+ export declare const callable: <T>(schema: z.ZodSchema<T>) => CallableBuilder<T>;
17
+ export {};
18
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,cAAM,eAAe,CAAC,CAAC;IAMT,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,OAAO,CAAoC;gBAE/B,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,WAAW,CAAC,OAAO,EAAE,eAAe;IAKpC,WAAW;IAKX,YAAY;IAMZ,gBAAgB;IAMhB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;CA6BrE;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBACrB,CAAC"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callable = void 0;
4
+ const https_1 = require("firebase-functions/v2/https");
5
+ const zod_1 = require("zod");
6
+ const iam_1 = require("./iam");
7
+ const DEFAULT_OPTIONS = { cors: true, enforceAppCheck: true };
8
+ const handleError = (error) => {
9
+ if (error instanceof zod_1.z.ZodError) {
10
+ throw new https_1.HttpsError("invalid-argument", `Validation failed: ${error.message}`);
11
+ }
12
+ if (error instanceof https_1.HttpsError) {
13
+ throw error;
14
+ }
15
+ throw new https_1.HttpsError("internal", error instanceof Error ? error.message : "Unknown error");
16
+ };
17
+ class CallableBuilder {
18
+ constructor(schema) {
19
+ this.schema = schema;
20
+ this.requiresAuth = false;
21
+ this.requiresAdmin = false;
22
+ this.requiresModerator = false;
23
+ this.options = DEFAULT_OPTIONS;
24
+ }
25
+ withOptions(options) {
26
+ this.options = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options);
27
+ return this;
28
+ }
29
+ requireUser() {
30
+ this.requiresAuth = true;
31
+ return this;
32
+ }
33
+ requireAdmin() {
34
+ this.requiresAuth = true;
35
+ this.requiresAdmin = true;
36
+ return this;
37
+ }
38
+ requireModerator() {
39
+ this.requiresAuth = true;
40
+ this.requiresModerator = true;
41
+ return this;
42
+ }
43
+ handle(handler) {
44
+ return (0, https_1.onCall)(this.options, async (request) => {
45
+ if (this.requiresAuth && !request.auth) {
46
+ throw new https_1.HttpsError("unauthenticated", "Authentication required");
47
+ }
48
+ if (request.auth) {
49
+ const uid = request.auth.uid;
50
+ if (this.requiresAdmin && !(await (0, iam_1.isAdmin)(uid))) {
51
+ throw new https_1.HttpsError("permission-denied", "Admin access required");
52
+ }
53
+ if (this.requiresModerator && !(await (0, iam_1.isModerator)(uid))) {
54
+ throw new https_1.HttpsError("permission-denied", "Moderator access required");
55
+ }
56
+ }
57
+ try {
58
+ const data = this.schema.parse(request.data);
59
+ return await handler(data, request);
60
+ }
61
+ catch (error) {
62
+ throw handleError(error);
63
+ }
64
+ });
65
+ }
66
+ }
67
+ const callable = (schema) => new CallableBuilder(schema);
68
+ exports.callable = callable;
69
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}