@kimdaegyu/babmukdang-shared 1.1.11 → 2.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 (100) hide show
  1. package/dist/chunk-3TY6OPD3.js +91 -0
  2. package/dist/{chunk-W4C7XHTX.js → chunk-6O2YTBVC.js} +3 -3
  3. package/dist/{chunk-GTVEQYJW.js → chunk-7JYVBXKQ.js} +1 -1
  4. package/dist/chunk-7UZD4LBQ.js +459 -0
  5. package/dist/chunk-BSJC7OVV.js +10 -0
  6. package/dist/chunk-C63TN7L3.js +148 -0
  7. package/dist/chunk-CGFW5LYV.js +143 -0
  8. package/dist/chunk-GOOH2LGN.js +829 -0
  9. package/dist/chunk-LEH6UFL7.js +314 -0
  10. package/dist/{chunk-K3CZKI2F.js → chunk-NENVUHL5.js} +11 -8
  11. package/dist/chunk-OPMBGBYS.js +632 -0
  12. package/dist/{chunk-OJVXYCSH.js → chunk-QFPVAJ2U.js} +1 -1
  13. package/dist/{chunk-AI2YMBJX.js → chunk-RZPNVRRS.js} +5 -5
  14. package/dist/{chunk-4E5E3PFW.js → chunk-VD3VGLBQ.js} +13 -5
  15. package/dist/chunk-WYBFBLQC.js +111 -0
  16. package/dist/{chunk-H77ISYYC.js → chunk-XMRYAG3V.js} +20 -8
  17. package/dist/domain/article/index.cjs +71 -7
  18. package/dist/domain/article/index.d.cts +79 -796
  19. package/dist/domain/article/index.d.ts +79 -796
  20. package/dist/domain/article/index.js +4 -4
  21. package/dist/domain/auth/index.cjs +68 -6
  22. package/dist/domain/auth/index.d.cts +6 -46
  23. package/dist/domain/auth/index.d.ts +6 -46
  24. package/dist/domain/auth/index.js +3 -3
  25. package/dist/domain/common/index.cjs +1438 -330
  26. package/dist/domain/common/index.d.cts +212 -3037
  27. package/dist/domain/common/index.d.ts +212 -3037
  28. package/dist/domain/common/index.js +65 -30
  29. package/dist/domain/food/index.cjs +225 -0
  30. package/dist/domain/food/index.d.cts +321 -0
  31. package/dist/domain/food/index.d.ts +321 -0
  32. package/dist/domain/food/index.js +46 -0
  33. package/dist/domain/friend/index.cjs +78 -7
  34. package/dist/domain/friend/index.d.cts +39 -98
  35. package/dist/domain/friend/index.d.ts +39 -98
  36. package/dist/domain/friend/index.js +5 -3
  37. package/dist/domain/index.cjs +1930 -456
  38. package/dist/domain/index.d.cts +382 -123
  39. package/dist/domain/index.d.ts +382 -123
  40. package/dist/domain/index.js +429 -140
  41. package/dist/domain/live-activity/index.cjs +1112 -0
  42. package/dist/domain/live-activity/index.d.cts +177 -0
  43. package/dist/domain/live-activity/index.d.ts +177 -0
  44. package/dist/domain/live-activity/index.js +28 -0
  45. package/dist/domain/meal/index.cjs +68 -6
  46. package/dist/domain/meal/index.d.cts +21 -40
  47. package/dist/domain/meal/index.d.ts +21 -40
  48. package/dist/domain/meal/index.js +4 -4
  49. package/dist/domain/meal-plan/index.cjs +1540 -0
  50. package/dist/domain/meal-plan/index.d.cts +4523 -0
  51. package/dist/domain/meal-plan/index.d.ts +4523 -0
  52. package/dist/domain/meal-plan/index.js +255 -0
  53. package/dist/domain/member/index.cjs +94 -6
  54. package/dist/domain/member/index.d.cts +263 -273
  55. package/dist/domain/member/index.d.ts +263 -273
  56. package/dist/domain/member/index.js +26 -2
  57. package/dist/domain/promotion/index.cjs +10 -4
  58. package/dist/domain/promotion/index.d.cts +35 -112
  59. package/dist/domain/promotion/index.d.ts +35 -112
  60. package/dist/domain/promotion/index.js +2 -2
  61. package/dist/domain/push/index.cjs +1055 -0
  62. package/dist/domain/push/index.d.cts +169 -0
  63. package/dist/domain/push/index.d.ts +169 -0
  64. package/dist/domain/push/index.js +36 -0
  65. package/dist/domain/restaurant/index.cjs +10 -4
  66. package/dist/domain/restaurant/index.d.cts +27 -1
  67. package/dist/domain/restaurant/index.d.ts +27 -1
  68. package/dist/domain/restaurant/index.js +2 -2
  69. package/dist/index.cjs +1731 -399
  70. package/dist/index.d.cts +5 -7
  71. package/dist/index.d.ts +5 -7
  72. package/dist/index.js +17 -15
  73. package/package.json +52 -55
  74. package/dist/chunk-PFSZSKD5.js +0 -0
  75. package/dist/chunk-PQMEXOPZ.js +0 -232
  76. package/dist/chunk-W4TUW2GY.js +0 -40
  77. package/dist/chunk-WNYCCQM4.js +0 -342
  78. package/dist/chunk-YGFAVC5N.js +0 -34
  79. package/dist/chunk-YM7YU7IR.js +0 -319
  80. package/dist/chunk-ZH7D7B2Y.js +0 -78
  81. package/dist/domain/invitation/index.cjs +0 -82
  82. package/dist/domain/invitation/index.d.cts +0 -64
  83. package/dist/domain/invitation/index.d.ts +0 -64
  84. package/dist/domain/invitation/index.js +0 -13
  85. package/dist/domain/plan/index.cjs +0 -327
  86. package/dist/domain/plan/index.d.cts +0 -178
  87. package/dist/domain/plan/index.d.ts +0 -178
  88. package/dist/domain/plan/index.js +0 -18
  89. package/dist/domain/recruit/index.cjs +0 -189
  90. package/dist/domain/recruit/index.d.cts +0 -214
  91. package/dist/domain/recruit/index.d.ts +0 -214
  92. package/dist/domain/recruit/index.js +0 -30
  93. package/dist/domain/room/index.cjs +0 -401
  94. package/dist/domain/room/index.d.cts +0 -2643
  95. package/dist/domain/room/index.d.ts +0 -2643
  96. package/dist/domain/room/index.js +0 -82
  97. package/dist/id-dAYxfjZn.d.cts +0 -64
  98. package/dist/id-dAYxfjZn.d.ts +0 -64
  99. package/dist/restaurant.schema-CuEcX3S3.d.cts +0 -78
  100. package/dist/restaurant.schema-CuEcX3S3.d.ts +0 -78
@@ -0,0 +1,1055 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/domain/push/index.ts
31
+ var push_exports = {};
32
+ __export(push_exports, {
33
+ MealPlanPushPayloadDataSchema: () => MealPlanPushPayloadDataSchema,
34
+ PushDeliveryAttemptResultSchema: () => PushDeliveryAttemptResultSchema,
35
+ PushDeliveryAttemptSummarySchema: () => PushDeliveryAttemptSummarySchema,
36
+ PushDeliveryOutboxSummarySchema: () => PushDeliveryOutboxSummarySchema,
37
+ PushDeliveryStatusSchema: () => PushDeliveryStatusSchema,
38
+ PushPayloadSchemaVersionSchema: () => PushPayloadSchemaVersionSchema,
39
+ PushPermissionStatusSchema: () => PushPermissionStatusSchema,
40
+ PushPlatformSchema: () => PushPlatformSchema,
41
+ PushProviderSchema: () => PushProviderSchema,
42
+ PushTokenResponseSchema: () => PushTokenResponseSchema,
43
+ PushTokenStatusSchema: () => PushTokenStatusSchema,
44
+ RegisterPushTokenRequestSchema: () => RegisterPushTokenRequestSchema,
45
+ RevokePushTokenRequestSchema: () => RevokePushTokenRequestSchema
46
+ });
47
+ module.exports = __toCommonJS(push_exports);
48
+
49
+ // src/domain/push/push.schema.ts
50
+ var import_zod13 = require("zod");
51
+
52
+ // src/domain/common/schema/date.schema.ts
53
+ var import_zod = require("zod");
54
+ var isoDateRegex = /^\d{4}-\d{2}-\d{2}$/;
55
+ var ISODateStringSchema = import_zod.z.string().regex(isoDateRegex, "Expected ISO date string in YYYY-MM-DD format");
56
+ var ISODateTimeStringSchema = import_zod.z.string().datetime({ offset: true, message: "Expected ISO datetime string" });
57
+ var TimeHHmmStringSchema = import_zod.z.string().regex(/^\d{2}:\d{2}$/, "Expected time string in HH:mm format");
58
+
59
+ // src/domain/common/schema/id.schema.ts
60
+ var import_zod2 = require("zod");
61
+ var PositiveIntIdSchema = import_zod2.z.number().int().positive();
62
+ var NonEmptyStringIdSchema = import_zod2.z.string().min(1);
63
+ var MemberIdSchema = PositiveIntIdSchema.brand();
64
+ var ArticleIdSchema = PositiveIntIdSchema.brand();
65
+ var CommentIdSchema = PositiveIntIdSchema.brand();
66
+ var MealPlanIdSchema = import_zod2.z.string().uuid().brand();
67
+ var MealPlanInviteIdSchema = import_zod2.z.string().uuid().brand();
68
+ var MealPlanJoinRequestIdSchema = import_zod2.z.string().uuid().brand();
69
+ var MealPlanNearbyFriendExposureBatchIdSchema = import_zod2.z.string().uuid().brand();
70
+ var MealPlanChangeRequestIdSchema = import_zod2.z.string().uuid().brand();
71
+ var MealPlanShareLinkIdSchema = import_zod2.z.string().uuid().brand();
72
+ var MealPlanShareLinkTokenSchema = import_zod2.z.string().min(8).max(128).brand();
73
+ var MealPlanChatRoomIdSchema = import_zod2.z.string().uuid().brand();
74
+ var MealPlanChatMessageIdSchema = import_zod2.z.string().uuid().brand();
75
+ var MealGroupIdSchema = import_zod2.z.string().uuid().brand();
76
+ var RestaurantIdSchema = NonEmptyStringIdSchema.brand();
77
+ var CouponIdSchema = PositiveIntIdSchema.brand();
78
+ var SubscriptionIdSchema = PositiveIntIdSchema.brand();
79
+ var FriendRequestIdSchema = PositiveIntIdSchema.brand();
80
+ var ReferralCodeSchema = import_zod2.z.string().min(4).max(64).brand();
81
+ var FoodCodeSchema = NonEmptyStringIdSchema.brand();
82
+ var FoodLabelSchema = NonEmptyStringIdSchema.brand();
83
+ var FoodSchema = import_zod2.z.object({
84
+ code: FoodCodeSchema,
85
+ label: FoodLabelSchema
86
+ });
87
+
88
+ // src/domain/meal-plan/meal-plan.schema.ts
89
+ var import_zod12 = require("zod");
90
+
91
+ // src/domain/member/member.schema.ts
92
+ var import_zod4 = require("zod");
93
+
94
+ // src/domain/common/contracts/upload.ts
95
+ var import_zod3 = __toESM(require("zod"), 1);
96
+ var UploadPresignImageResponseSchema = import_zod3.default.object({
97
+ key: import_zod3.default.string(),
98
+ putUrl: import_zod3.default.string().url(),
99
+ cdnUrl: import_zod3.default.string().url()
100
+ });
101
+ var UploadPresignImageRequestSchema = import_zod3.default.object({
102
+ contentType: import_zod3.default.string()
103
+ });
104
+
105
+ // src/domain/member/member.schema.ts
106
+ var MemberRoleSchema = import_zod4.z.enum(["USER", "ADMIN"]);
107
+ var LocationConsentStatusSchema = import_zod4.z.enum(["UNKNOWN", "GRANTED", "DENIED"]);
108
+ var OnboardingStatusSchema = import_zod4.z.enum(["REQUIRED", "COMPLETED"]);
109
+ var PermissionKindSchema = import_zod4.z.enum(["LOCATION", "NOTIFICATION", "CAMERA"]);
110
+ var PermissionStatusSchema = import_zod4.z.enum([
111
+ "UNKNOWN",
112
+ "PROMPT",
113
+ "GRANTED",
114
+ "DENIED",
115
+ "LIMITED",
116
+ "UNSUPPORTED"
117
+ ]);
118
+ var PermissionPlatformSchema = import_zod4.z.enum(["WEB", "IOS", "ANDROID", "UNKNOWN"]);
119
+ var DevicePermissionSnapshotSchema = import_zod4.z.object({
120
+ kind: PermissionKindSchema,
121
+ status: PermissionStatusSchema,
122
+ platform: PermissionPlatformSchema.default("UNKNOWN"),
123
+ canAskAgain: import_zod4.z.boolean().optional(),
124
+ checkedAt: import_zod4.z.string().datetime()
125
+ });
126
+ var MemberLocationSchema = import_zod4.z.object({
127
+ latitude: import_zod4.z.number().min(-90).max(90),
128
+ longitude: import_zod4.z.number().min(-180).max(180),
129
+ accuracyMeters: import_zod4.z.number().min(0).nullable().optional(),
130
+ capturedAt: import_zod4.z.string().datetime()
131
+ });
132
+ var UpdateMemberLocationConsentRequestSchema = import_zod4.z.object({
133
+ locationConsentStatus: LocationConsentStatusSchema,
134
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().default(false),
135
+ mealSuggestionAllowed: import_zod4.z.boolean().optional(),
136
+ permissionSnapshot: DevicePermissionSnapshotSchema.optional()
137
+ });
138
+ var MemberLocationSettingsResponseSchema = import_zod4.z.object({
139
+ locationConsentStatus: LocationConsentStatusSchema,
140
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean(),
141
+ mealSuggestionAllowed: import_zod4.z.boolean(),
142
+ lastKnownLocation: MemberLocationSchema.nullable(),
143
+ permissionSnapshot: DevicePermissionSnapshotSchema.nullable().optional(),
144
+ updatedAt: import_zod4.z.string().datetime().nullable()
145
+ });
146
+ var MemberCoreSchema = import_zod4.z.object({
147
+ memberId: MemberIdSchema,
148
+ username: import_zod4.z.string().min(1).max(50),
149
+ profileImageUrl: import_zod4.z.string().url().nullable().optional()
150
+ });
151
+ var UploadProfileImageResponseSchema = UploadPresignImageResponseSchema.extend({});
152
+ var UploadProfileImageRequestSchema = UploadPresignImageRequestSchema.extend({});
153
+ var MemberResponseSchema = MemberCoreSchema.pick({
154
+ memberId: true,
155
+ username: true,
156
+ profileImageUrl: true
157
+ }).extend({
158
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
159
+ onboardingCompletedAt: import_zod4.z.string().datetime().nullable().default(null),
160
+ locationConsentStatus: LocationConsentStatusSchema.optional(),
161
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().optional()
162
+ });
163
+ var MemberSearchQuerySchema = import_zod4.z.object({
164
+ email: import_zod4.z.string().email().optional(),
165
+ username: import_zod4.z.string().optional()
166
+ });
167
+ var MemberSerachResponseSchema = import_zod4.z.array(MemberCoreSchema);
168
+ var MemberDetailSchema = MemberCoreSchema.extend({
169
+ bio: import_zod4.z.string().nullable(),
170
+ friendConunt: import_zod4.z.number().int().min(0).default(0),
171
+ completedPlans: import_zod4.z.number().int().min(0).default(0),
172
+ uncompletedPlans: import_zod4.z.number().int().min(0).default(0),
173
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
174
+ onboardingCompletedAt: import_zod4.z.string().datetime().nullable().default(null),
175
+ locationConsentStatus: LocationConsentStatusSchema.default("UNKNOWN"),
176
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().default(false)
177
+ });
178
+ var FoodPreferenceItemSchema = FoodSchema.extend({});
179
+ var MemberFoodPreferenceSchema = import_zod4.z.object({
180
+ liked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
181
+ disliked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
182
+ allergy: import_zod4.z.array(FoodPreferenceItemSchema).optional()
183
+ });
184
+ var UpdateProfileRequestSchema = import_zod4.z.object({
185
+ username: import_zod4.z.string().min(1).max(50),
186
+ profileImageUrl: import_zod4.z.string().url().nullable(),
187
+ bio: import_zod4.z.string().max(500).nullable()
188
+ });
189
+ var UpdatePreferenceRequestSchema = MemberFoodPreferenceSchema;
190
+ var CompleteOnboardingRequestSchema = UpdateProfileRequestSchema.merge(
191
+ UpdatePreferenceRequestSchema
192
+ );
193
+ var OnboardingDraftSchema = import_zod4.z.object({
194
+ username: import_zod4.z.string().min(1).max(50).optional(),
195
+ profileImageUrl: import_zod4.z.string().url().nullable().optional(),
196
+ bio: import_zod4.z.string().max(500).nullable().optional(),
197
+ liked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
198
+ disliked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
199
+ allergy: import_zod4.z.array(FoodPreferenceItemSchema).optional()
200
+ });
201
+
202
+ // src/domain/restaurant/restaurant.schema.ts
203
+ var import_zod5 = require("zod");
204
+ var RestaurantSchema = import_zod5.z.object({
205
+ restaurantId: RestaurantIdSchema,
206
+ placeName: import_zod5.z.string(),
207
+ categoryName: import_zod5.z.string(),
208
+ categoryGroupName: import_zod5.z.string(),
209
+ distance: import_zod5.z.string().optional(),
210
+ roadAddressName: import_zod5.z.string(),
211
+ addressName: import_zod5.z.string(),
212
+ phone: import_zod5.z.string().nullable(),
213
+ placeUrl: import_zod5.z.string().url().nullable(),
214
+ lat: import_zod5.z.number(),
215
+ lng: import_zod5.z.number()
216
+ });
217
+ var KakaoPlaceRawSchema = import_zod5.z.object({
218
+ id: RestaurantIdSchema,
219
+ place_name: import_zod5.z.string(),
220
+ category_name: import_zod5.z.string(),
221
+ category_group_name: import_zod5.z.string(),
222
+ distance: import_zod5.z.string(),
223
+ road_address_name: import_zod5.z.string(),
224
+ address_name: import_zod5.z.string(),
225
+ phone: import_zod5.z.string(),
226
+ place_url: import_zod5.z.string().url().optional(),
227
+ lat: import_zod5.z.number(),
228
+ lng: import_zod5.z.number()
229
+ });
230
+
231
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
232
+ var import_zod7 = require("zod");
233
+
234
+ // src/domain/food/food.schema.ts
235
+ var import_zod6 = require("zod");
236
+ var FoodGranularitySchema = import_zod6.z.enum(["main_dish", "side_dish", "beverage", "sauce"]);
237
+ var CuisineTagSchema = import_zod6.z.enum([
238
+ "korean",
239
+ "western",
240
+ "chinese",
241
+ "japanese",
242
+ "mexican",
243
+ "indian",
244
+ "asian",
245
+ "snack",
246
+ "dessert",
247
+ "beverage",
248
+ "unknown"
249
+ ]);
250
+ var FoodResolvedMatchSourceSchema = import_zod6.z.enum(["category", "alias", "lexical", "semantic"]);
251
+ var FoodCodeManifestImageSchema = import_zod6.z.object({
252
+ src: import_zod6.z.string().min(1),
253
+ avifSrcset: import_zod6.z.string().min(1).optional(),
254
+ thumbhashDataURL: import_zod6.z.string().min(1).optional(),
255
+ aspectRatio: import_zod6.z.number().positive().optional()
256
+ });
257
+ var FoodCodeManifestItemSchema = import_zod6.z.object({
258
+ code: FoodCodeSchema,
259
+ label: FoodLabelSchema,
260
+ aliases: import_zod6.z.array(import_zod6.z.string().min(1)).default([]),
261
+ parentCategory: import_zod6.z.string().min(1),
262
+ cuisineTags: import_zod6.z.array(CuisineTagSchema).default([]),
263
+ categoryTags: import_zod6.z.array(import_zod6.z.string().min(1)).default([]),
264
+ semanticTags: import_zod6.z.array(import_zod6.z.string().min(1)).default([]),
265
+ granularity: FoodGranularitySchema,
266
+ searchable: import_zod6.z.boolean(),
267
+ recommendable: import_zod6.z.boolean(),
268
+ previewEnabled: import_zod6.z.boolean(),
269
+ imageUrl: import_zod6.z.string().min(1).nullable().optional(),
270
+ image: FoodCodeManifestImageSchema.nullable().optional(),
271
+ popularity: import_zod6.z.number().nonnegative().optional(),
272
+ source: import_zod6.z.enum(["foodname", "manual", "foodai", "legacy"]).optional()
273
+ });
274
+ var FoodCodeManifestSchema = import_zod6.z.object({
275
+ version: import_zod6.z.string().min(1),
276
+ updatedAt: ISODateTimeStringSchema,
277
+ taxonomyVersion: import_zod6.z.string().min(1),
278
+ etag: import_zod6.z.string().min(1).optional(),
279
+ items: import_zod6.z.array(FoodCodeManifestItemSchema),
280
+ categoryIndex: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.array(FoodCodeSchema)),
281
+ aliasIndex: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.array(FoodCodeSchema)).optional()
282
+ });
283
+ var FoodImageIndexItemSchema = import_zod6.z.object({
284
+ code: FoodCodeSchema,
285
+ label: FoodLabelSchema,
286
+ imageUrl: import_zod6.z.string().min(1).nullable(),
287
+ image: FoodCodeManifestImageSchema.nullable(),
288
+ source: import_zod6.z.enum(["foodname", "manual", "foodai", "legacy"]).optional()
289
+ });
290
+ var FoodImageIndexManifestSchema = import_zod6.z.object({
291
+ version: import_zod6.z.string().min(1),
292
+ updatedAt: ISODateTimeStringSchema,
293
+ taxonomyVersion: import_zod6.z.string().min(1),
294
+ items: import_zod6.z.array(FoodImageIndexItemSchema)
295
+ });
296
+ var ResolvedFoodCodeSchema = import_zod6.z.object({
297
+ code: FoodCodeSchema,
298
+ label: FoodLabelSchema,
299
+ matchedBy: FoodResolvedMatchSourceSchema,
300
+ score: import_zod6.z.number(),
301
+ granularity: FoodGranularitySchema,
302
+ imageUrl: import_zod6.z.string().min(1).nullable().optional()
303
+ });
304
+ var BooleanQuerySchema = import_zod6.z.preprocess((value) => {
305
+ if (value === "true") return true;
306
+ if (value === "false") return false;
307
+ return value;
308
+ }, import_zod6.z.boolean());
309
+ var FoodResolveQuerySchema = import_zod6.z.object({
310
+ q: import_zod6.z.string().default(""),
311
+ limit: import_zod6.z.coerce.number().int().min(1).max(100).optional().default(30),
312
+ recommendableOnly: BooleanQuerySchema.optional().default(true)
313
+ });
314
+ var FoodSearchQuerySchema = import_zod6.z.object({
315
+ q: import_zod6.z.string().default(""),
316
+ limit: import_zod6.z.coerce.number().int().min(1).max(100).optional().default(20)
317
+ });
318
+ var FoodResolveResponseSchema = import_zod6.z.object({
319
+ query: import_zod6.z.string(),
320
+ items: import_zod6.z.array(ResolvedFoodCodeSchema)
321
+ });
322
+ var FoodAiClassMappingStatusSchema = import_zod6.z.enum([
323
+ "exact",
324
+ "broad",
325
+ "narrow",
326
+ "merged",
327
+ "ignored",
328
+ "review_required"
329
+ ]);
330
+ var AiClassFoodCodeMappingSchema = import_zod6.z.object({
331
+ classId: import_zod6.z.number().int().nonnegative(),
332
+ aiLabel: import_zod6.z.string().min(1),
333
+ aiAliases: import_zod6.z.array(import_zod6.z.string().min(1)).default([]),
334
+ representativeCode: FoodCodeSchema.nullable(),
335
+ candidateCodes: import_zod6.z.array(FoodCodeSchema).default([]),
336
+ mappingStatus: FoodAiClassMappingStatusSchema,
337
+ granularity: FoodGranularitySchema,
338
+ searchable: import_zod6.z.boolean(),
339
+ recommendable: import_zod6.z.boolean(),
340
+ reason: import_zod6.z.string().min(1).optional()
341
+ });
342
+ var AiClassToFoodCodeMapManifestSchema = import_zod6.z.object({
343
+ version: import_zod6.z.string().min(1),
344
+ updatedAt: ISODateTimeStringSchema,
345
+ modelTaxonomyVersion: import_zod6.z.string().min(1),
346
+ serviceTaxonomyVersion: import_zod6.z.string().min(1),
347
+ classes: import_zod6.z.array(AiClassFoodCodeMappingSchema)
348
+ });
349
+
350
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
351
+ var MealPlanLatitudeSchema = import_zod7.z.number().brand();
352
+ var MealPlanLongitudeSchema = import_zod7.z.number().brand();
353
+ var MealPlanLocationCandidateIdSchema = import_zod7.z.string().min(1).brand();
354
+ var MealPlanMenuCandidateIdSchema = import_zod7.z.string().min(1).brand();
355
+ var MealPlanDecisionStageIdSchema = import_zod7.z.string().uuid().brand();
356
+ var MealPlanVoteIdSchema = import_zod7.z.string().uuid().brand();
357
+ var MealPlanLocationCandidateSourceSchema = import_zod7.z.enum([
358
+ "manual",
359
+ "map-marker",
360
+ "midpoint",
361
+ "user-location",
362
+ "search",
363
+ "recent-place",
364
+ "fallback"
365
+ ]);
366
+ var MealPlanLocationCandidateSchema = import_zod7.z.object({
367
+ locationId: MealPlanLocationCandidateIdSchema,
368
+ placeName: import_zod7.z.string().min(1),
369
+ lat: MealPlanLatitudeSchema,
370
+ lng: MealPlanLongitudeSchema,
371
+ address: import_zod7.z.string().default(""),
372
+ source: MealPlanLocationCandidateSourceSchema.default("manual"),
373
+ createdBy: MemberIdSchema.optional(),
374
+ createdAt: ISODateTimeStringSchema.optional()
375
+ });
376
+ var MealPlanMenuCandidateSourceSchema = import_zod7.z.enum([
377
+ "external-recommendation",
378
+ "prefer-menu",
379
+ "recent-menu",
380
+ "fallback",
381
+ "manual-search"
382
+ ]);
383
+ var MealPlanMenuCandidateSchema = import_zod7.z.object({
384
+ menuCandidateId: MealPlanMenuCandidateIdSchema,
385
+ menu: FoodSchema,
386
+ source: MealPlanMenuCandidateSourceSchema,
387
+ score: import_zod7.z.number().default(0),
388
+ imageUrl: import_zod7.z.string().min(1).nullable().default(null),
389
+ image: FoodCodeManifestImageSchema.nullable().default(null),
390
+ createdAt: ISODateTimeStringSchema
391
+ });
392
+ var MealPlanRestaurantCandidateSchema = RestaurantSchema.extend({
393
+ candidateId: RestaurantIdSchema.optional(),
394
+ source: import_zod7.z.enum(["search", "fallback", "manual"]).optional(),
395
+ createdAt: ISODateTimeStringSchema.optional()
396
+ });
397
+ var MealPlanDecisionStageTypeSchema = import_zod7.z.enum([
398
+ "DATE",
399
+ "TIME",
400
+ "AREA",
401
+ "MENU",
402
+ "RESTAURANT",
403
+ "FINAL_CONFIRMATION"
404
+ ]);
405
+ var MealPlanDecisionStageStatusSchema = import_zod7.z.enum([
406
+ "OPEN",
407
+ "COMPLETED",
408
+ "REOPENED"
409
+ ]);
410
+ var MealPlanRestaurantSearchStatusSchema = import_zod7.z.enum([
411
+ "IDLE",
412
+ "PENDING",
413
+ "READY",
414
+ "FAILED",
415
+ "STALE"
416
+ ]);
417
+ var MealPlanRestaurantSearchStateSchema = import_zod7.z.object({
418
+ searchKey: import_zod7.z.string().min(1).nullable(),
419
+ status: MealPlanRestaurantSearchStatusSchema,
420
+ startedAt: ISODateTimeStringSchema.nullable(),
421
+ completedAt: ISODateTimeStringSchema.nullable(),
422
+ version: import_zod7.z.number().int().min(0),
423
+ candidateCount: import_zod7.z.number().int().min(0),
424
+ errorMessage: import_zod7.z.string().nullable().default(null)
425
+ });
426
+ var MealPlanDecisionStageMetadataSchema = import_zod7.z.object({
427
+ restaurantSearch: MealPlanRestaurantSearchStateSchema.optional()
428
+ }).catchall(import_zod7.z.unknown());
429
+ var MealPlanVoteTypeSchema = import_zod7.z.enum([
430
+ "PICK",
431
+ "EXCLUDE",
432
+ "PREFER",
433
+ "READY"
434
+ ]);
435
+ var MealPlanDecisionCandidateSchema = import_zod7.z.discriminatedUnion("stageType", [
436
+ import_zod7.z.object({ stageType: import_zod7.z.literal("DATE"), value: ISODateStringSchema }),
437
+ import_zod7.z.object({ stageType: import_zod7.z.literal("TIME"), value: TimeHHmmStringSchema }),
438
+ import_zod7.z.object({ stageType: import_zod7.z.literal("AREA"), value: MealPlanLocationCandidateSchema }),
439
+ import_zod7.z.object({ stageType: import_zod7.z.literal("MENU"), value: MealPlanMenuCandidateSchema }),
440
+ import_zod7.z.object({ stageType: import_zod7.z.literal("RESTAURANT"), value: MealPlanRestaurantCandidateSchema }),
441
+ import_zod7.z.object({ stageType: import_zod7.z.literal("FINAL_CONFIRMATION"), value: import_zod7.z.literal("READY") })
442
+ ]);
443
+ var MealPlanVoteSchema = import_zod7.z.object({
444
+ voteId: MealPlanVoteIdSchema,
445
+ voterId: MemberIdSchema.nullable(),
446
+ guestId: import_zod7.z.string().min(1).nullable(),
447
+ voteType: MealPlanVoteTypeSchema,
448
+ candidate: MealPlanDecisionCandidateSchema,
449
+ createdAt: ISODateTimeStringSchema
450
+ });
451
+ var MealPlanDecisionStageResponseSchema = import_zod7.z.object({
452
+ stageId: MealPlanDecisionStageIdSchema,
453
+ stageType: MealPlanDecisionStageTypeSchema,
454
+ status: MealPlanDecisionStageStatusSchema,
455
+ candidates: import_zod7.z.array(MealPlanDecisionCandidateSchema),
456
+ votes: import_zod7.z.array(MealPlanVoteSchema),
457
+ selectedCandidate: MealPlanDecisionCandidateSchema.nullable(),
458
+ metadata: MealPlanDecisionStageMetadataSchema.nullable().default(null),
459
+ openedAt: ISODateTimeStringSchema,
460
+ completedAt: ISODateTimeStringSchema.nullable(),
461
+ reopenedAt: ISODateTimeStringSchema.nullable()
462
+ });
463
+ var CreateMealPlanVoteRequestSchema = import_zod7.z.object({
464
+ voteType: MealPlanVoteTypeSchema,
465
+ candidate: MealPlanDecisionCandidateSchema
466
+ });
467
+ var CompleteMealPlanDecisionStageRequestSchema = import_zod7.z.object({
468
+ selectedCandidate: MealPlanDecisionCandidateSchema
469
+ });
470
+ var MealPlanChangeRequestStatusSchema = import_zod7.z.enum([
471
+ "PENDING",
472
+ "ACCEPTED",
473
+ "REJECTED",
474
+ "CANCELLED"
475
+ ]);
476
+ var CreateMealPlanChangeRequestSchema = import_zod7.z.object({
477
+ stageType: MealPlanDecisionStageTypeSchema,
478
+ reason: import_zod7.z.string().min(1).max(500),
479
+ proposedCandidate: MealPlanDecisionCandidateSchema.optional()
480
+ });
481
+ var MealPlanChangeRequestSummarySchema = import_zod7.z.object({
482
+ changeRequestId: MealPlanChangeRequestIdSchema,
483
+ stageType: MealPlanDecisionStageTypeSchema,
484
+ status: MealPlanChangeRequestStatusSchema,
485
+ reason: import_zod7.z.string(),
486
+ requestedAt: ISODateTimeStringSchema
487
+ });
488
+ var MealPlanDecisionTaskKeySchema = import_zod7.z.enum([
489
+ "SCHEDULE_DATE",
490
+ "SCHEDULE_TIME",
491
+ "LOCATION_CANDIDATE",
492
+ "LOCATION_VOTE",
493
+ "EXCLUDE_MENU",
494
+ "PREFER_MENU",
495
+ "MENU_PICK",
496
+ "RESTAURANT_SEARCH",
497
+ "RESTAURANT_PICK",
498
+ "FINAL_CONFIRMATION"
499
+ ]);
500
+ var MealPlanDecisionTaskStatusSchema = import_zod7.z.enum([
501
+ "LOCKED",
502
+ "OPEN",
503
+ "RESOLVED",
504
+ "STALE"
505
+ ]);
506
+ var MealPlanDecisionFinalFieldSchema = import_zod7.z.enum([
507
+ "date",
508
+ "time",
509
+ "meetingAt",
510
+ "area",
511
+ "menu",
512
+ "restaurant"
513
+ ]);
514
+ var MealPlanDecisionSnapshotStatusSchema = import_zod7.z.enum([
515
+ "CANDIDATE",
516
+ "PROVISIONAL",
517
+ "FINAL",
518
+ "STALE"
519
+ ]);
520
+ var MealPlanDecisionReasonSchema = import_zod7.z.enum([
521
+ "COMMON_SCHEDULE",
522
+ "TOP_VOTED_LOCATION",
523
+ "TOP_PICKED_MENU",
524
+ "TOP_PICKED_RESTAURANT",
525
+ "OWNER_CONFIRMED",
526
+ "MANUAL_SELECTION"
527
+ ]);
528
+ var MealPlanDecisionActorTypeSchema = import_zod7.z.enum(["MEMBER", "GUEST", "SYSTEM"]);
529
+ var MealPlanDecisionSnapshotSchema = import_zod7.z.object({
530
+ snapshotId: import_zod7.z.string().uuid(),
531
+ mealPlanId: import_zod7.z.string().uuid(),
532
+ field: MealPlanDecisionFinalFieldSchema,
533
+ value: import_zod7.z.unknown(),
534
+ status: MealPlanDecisionSnapshotStatusSchema,
535
+ reason: MealPlanDecisionReasonSchema,
536
+ score: import_zod7.z.number().nullable().default(null),
537
+ sourceEvent: import_zod7.z.string().min(1),
538
+ sourceActorType: MealPlanDecisionActorTypeSchema,
539
+ sourceMemberId: MemberIdSchema.nullable(),
540
+ sourceGuestId: import_zod7.z.string().min(1).nullable(),
541
+ sourceParticipantId: import_zod7.z.string().uuid().nullable(),
542
+ sourceVersion: import_zod7.z.number().int().min(0),
543
+ dependencyHash: import_zod7.z.string().min(1),
544
+ dependencyFields: import_zod7.z.array(MealPlanDecisionFinalFieldSchema),
545
+ createdAt: ISODateTimeStringSchema,
546
+ staleAt: ISODateTimeStringSchema.nullable()
547
+ });
548
+ var MealPlanDecisionTaskProgressSchema = import_zod7.z.object({
549
+ taskKey: MealPlanDecisionTaskKeySchema,
550
+ status: MealPlanDecisionTaskStatusSchema,
551
+ blockers: import_zod7.z.array(import_zod7.z.string()).default([]),
552
+ updatedAt: ISODateTimeStringSchema
553
+ });
554
+ var MealPlanDecisionProgressSchema = import_zod7.z.object({
555
+ mealPlanId: import_zod7.z.string().uuid(),
556
+ status: import_zod7.z.string().min(1),
557
+ tasks: import_zod7.z.array(MealPlanDecisionTaskProgressSchema),
558
+ final: import_zod7.z.record(import_zod7.z.string(), import_zod7.z.unknown()),
559
+ provisional: import_zod7.z.record(import_zod7.z.string(), import_zod7.z.unknown()),
560
+ snapshots: import_zod7.z.array(MealPlanDecisionSnapshotSchema),
561
+ version: import_zod7.z.number().int().min(0),
562
+ updatedAt: ISODateTimeStringSchema
563
+ });
564
+ var ReopenMealPlanDecisionTaskRequestSchema = import_zod7.z.object({
565
+ reason: import_zod7.z.string().max(500).optional()
566
+ });
567
+ var ConfirmMealPlanDecisionSnapshotRequestSchema = import_zod7.z.object({
568
+ snapshotId: import_zod7.z.string().uuid()
569
+ });
570
+
571
+ // src/domain/meal-plan/meal-plan-participant.schema.ts
572
+ var import_zod8 = require("zod");
573
+ var MealPlanParticipantIdSchema = import_zod8.z.string().uuid().brand();
574
+ var MealPlanParticipantRoleSchema = import_zod8.z.enum([
575
+ "OWNER",
576
+ "FRIEND",
577
+ "GUEST"
578
+ ]);
579
+ var MealPlanParticipantStatusSchema = import_zod8.z.enum([
580
+ "INVITED",
581
+ "REQUESTED",
582
+ "JOINED",
583
+ "READY",
584
+ "DECLINED",
585
+ "LEFT",
586
+ "REMOVED"
587
+ ]);
588
+ var MealPlanJoinSourceSchema = import_zod8.z.enum([
589
+ "OWNER",
590
+ "FRIEND_INVITE",
591
+ "LINK_GUEST",
592
+ "NEARBY_FRIENDS"
593
+ ]);
594
+ var MealPlanGuestParticipantSchema = import_zod8.z.object({
595
+ guestId: import_zod8.z.string().min(1),
596
+ nickname: import_zod8.z.string().min(1).max(50)
597
+ });
598
+ var MealPlanParticipantResponseSchema = import_zod8.z.object({
599
+ participantId: MealPlanParticipantIdSchema,
600
+ mealPlanId: MealPlanIdSchema,
601
+ member: MemberCoreSchema.nullable(),
602
+ guest: MealPlanGuestParticipantSchema.nullable(),
603
+ role: MealPlanParticipantRoleSchema,
604
+ status: MealPlanParticipantStatusSchema,
605
+ source: MealPlanJoinSourceSchema,
606
+ joinedAt: ISODateTimeStringSchema.nullable(),
607
+ readyAt: ISODateTimeStringSchema.nullable()
608
+ });
609
+ var CreateMealPlanParticipantRequestSchema = import_zod8.z.object({
610
+ memberId: MemberIdSchema.optional(),
611
+ guestNickname: import_zod8.z.string().min(1).max(50).optional(),
612
+ source: MealPlanJoinSourceSchema
613
+ });
614
+
615
+ // src/domain/meal-plan/meal-plan-invite.schema.ts
616
+ var import_zod9 = require("zod");
617
+ var MealPlanInviteStatusSchema = import_zod9.z.enum([
618
+ "PENDING",
619
+ "ACCEPTED",
620
+ "DECLINED",
621
+ "CANCELLED",
622
+ "EXPIRED"
623
+ ]);
624
+ var CreateMealPlanInviteRequestSchema = import_zod9.z.object({
625
+ inviteeId: MemberIdSchema,
626
+ message: import_zod9.z.string().max(500).default("")
627
+ });
628
+ var MealPlanInviteSummarySchema = import_zod9.z.object({
629
+ inviteId: MealPlanInviteIdSchema,
630
+ mealPlanId: MealPlanIdSchema,
631
+ inviter: MemberCoreSchema,
632
+ invitee: MemberCoreSchema,
633
+ status: MealPlanInviteStatusSchema,
634
+ message: import_zod9.z.string().max(500),
635
+ createdAt: ISODateTimeStringSchema,
636
+ respondedAt: ISODateTimeStringSchema.nullable()
637
+ });
638
+ var MealPlanInviteListResponseSchema = import_zod9.z.array(MealPlanInviteSummarySchema);
639
+ var SendMealPlanInviteResponseSchema = import_zod9.z.object({
640
+ inviteId: MealPlanInviteIdSchema
641
+ });
642
+
643
+ // src/domain/meal-plan/meal-plan-nearby-friend.schema.ts
644
+ var import_zod10 = require("zod");
645
+ var MealPlanNearbyFriendExposureIdSchema = import_zod10.z.string().uuid().brand();
646
+ var MealPlanNearbyFriendExposureStatusSchema = import_zod10.z.enum([
647
+ "OPEN",
648
+ "CLOSED",
649
+ "EXPIRED"
650
+ ]);
651
+ var MealPlanNearbyFriendExposureNotificationStatusSchema = import_zod10.z.enum([
652
+ "PENDING",
653
+ "SENT",
654
+ "PARTIAL",
655
+ "FAILED",
656
+ "SKIPPED"
657
+ ]);
658
+ var ExposeMealPlanToNearbyFriendsRequestSchema = import_zod10.z.object({
659
+ radiusMeters: import_zod10.z.number().int().min(100).max(5e3).default(1e3),
660
+ expiresAt: ISODateTimeStringSchema.optional()
661
+ });
662
+ var NearbyFriendExposureEligibilitySchema = import_zod10.z.object({
663
+ canExpose: import_zod10.z.boolean(),
664
+ locationConsentStatus: LocationConsentStatusSchema,
665
+ nearbyMealPlanExposureAllowed: import_zod10.z.boolean(),
666
+ mealSuggestionAllowed: import_zod10.z.boolean(),
667
+ hasLastKnownLocation: import_zod10.z.boolean(),
668
+ missingRequirements: import_zod10.z.array(import_zod10.z.enum([
669
+ "LOCATION_PERMISSION",
670
+ "SERVICE_LOCATION_CONSENT",
671
+ "NEARBY_EXPOSURE_TOGGLE",
672
+ "MEAL_SUGGESTION_TOGGLE",
673
+ "LAST_KNOWN_LOCATION"
674
+ ]))
675
+ });
676
+ var MealPlanNearbyFriendRejectionReasonSchema = import_zod10.z.enum([
677
+ "NOT_FRIEND",
678
+ "BLOCKED",
679
+ "LOCATION_CONSENT_REQUIRED",
680
+ "LOCATION_UNAVAILABLE",
681
+ "OUT_OF_RADIUS",
682
+ "MEAL_SUGGESTION_DISABLED",
683
+ "NOT_HUNGRY"
684
+ ]);
685
+ var MealPlanNearbyFriendRejectionSummarySchema = import_zod10.z.object({
686
+ reason: MealPlanNearbyFriendRejectionReasonSchema,
687
+ count: import_zod10.z.number().int().min(0)
688
+ });
689
+ var ExposeMealPlanToNearbyFriendsResponseSchema = import_zod10.z.object({
690
+ mealPlanId: MealPlanIdSchema,
691
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
692
+ exposedFriendCount: import_zod10.z.number().int().min(0),
693
+ rejectedFriendCount: import_zod10.z.number().int().min(0),
694
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
695
+ rejectionSummary: import_zod10.z.array(MealPlanNearbyFriendRejectionSummarySchema)
696
+ });
697
+ var MealPlanNearbyFriendExposureSummarySchema = import_zod10.z.object({
698
+ exposureId: MealPlanNearbyFriendExposureIdSchema,
699
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema.nullable(),
700
+ mealPlanId: MealPlanIdSchema,
701
+ status: MealPlanNearbyFriendExposureStatusSchema,
702
+ radiusMeters: import_zod10.z.number().int().min(100),
703
+ exposedFriendCount: import_zod10.z.number().int().min(0),
704
+ openedAt: ISODateTimeStringSchema,
705
+ expiresAt: ISODateTimeStringSchema.nullable(),
706
+ closedAt: ISODateTimeStringSchema.nullable()
707
+ });
708
+ var MealPlanNearbyFriendExposureBatchSummarySchema = import_zod10.z.object({
709
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
710
+ mealPlanId: MealPlanIdSchema,
711
+ status: MealPlanNearbyFriendExposureStatusSchema,
712
+ radiusMeters: import_zod10.z.number().int().min(100),
713
+ exposedFriendCount: import_zod10.z.number().int().min(0),
714
+ rejectedFriendCount: import_zod10.z.number().int().min(0),
715
+ rejectionSummary: import_zod10.z.array(MealPlanNearbyFriendRejectionSummarySchema),
716
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
717
+ notificationSentAt: ISODateTimeStringSchema.nullable(),
718
+ openedAt: ISODateTimeStringSchema,
719
+ expiresAt: ISODateTimeStringSchema.nullable(),
720
+ closedAt: ISODateTimeStringSchema.nullable()
721
+ });
722
+ var MealPlanJoinRequestStatusSchema = import_zod10.z.enum([
723
+ "PENDING",
724
+ "ACCEPTED",
725
+ "REJECTED",
726
+ "CANCELLED"
727
+ ]);
728
+ var CreateMealPlanJoinRequestSchema = import_zod10.z.object({
729
+ message: import_zod10.z.string().max(500).default("")
730
+ });
731
+ var MealPlanJoinRequestSummarySchema = import_zod10.z.object({
732
+ joinRequestId: MealPlanJoinRequestIdSchema,
733
+ mealPlanId: MealPlanIdSchema,
734
+ requester: MemberCoreSchema,
735
+ status: MealPlanJoinRequestStatusSchema,
736
+ message: import_zod10.z.string().max(500),
737
+ requestedAt: ISODateTimeStringSchema,
738
+ respondedAt: ISODateTimeStringSchema.nullable()
739
+ });
740
+ var NearbyFriendMealPlanSummarySchema = import_zod10.z.object({
741
+ mealPlanId: MealPlanIdSchema,
742
+ owner: MemberCoreSchema,
743
+ title: import_zod10.z.string(),
744
+ participantCount: import_zod10.z.number().int().min(1),
745
+ distanceMeters: import_zod10.z.number().int().min(0),
746
+ exposedAt: ISODateTimeStringSchema,
747
+ expiresAt: ISODateTimeStringSchema.nullable(),
748
+ joinRequestStatus: MealPlanJoinRequestStatusSchema.nullable().default(null)
749
+ });
750
+
751
+ // src/domain/meal-plan/meal-plan-chat.schema.ts
752
+ var import_zod11 = require("zod");
753
+ var MealPlanChatMessageKindSchema = import_zod11.z.enum([
754
+ "USER",
755
+ "SYSTEM"
756
+ ]);
757
+ var MealPlanSystemMessageKindSchema = import_zod11.z.enum([
758
+ "PARTICIPANT_JOINED",
759
+ "PARTICIPANT_READY",
760
+ "PARTICIPANT_REMOVED",
761
+ "STATUS_CHANGED",
762
+ "DECISION_UPDATED",
763
+ "CONFIRMED",
764
+ "RECORD_NEEDED"
765
+ ]);
766
+ var MealPlanChatSystemPayloadSchema = import_zod11.z.object({
767
+ kind: MealPlanSystemMessageKindSchema
768
+ }).catchall(import_zod11.z.unknown());
769
+ var MealPlanChatMessageListResponseSchema = import_zod11.z.array(
770
+ import_zod11.z.lazy(() => MealPlanChatMessageResponseSchema)
771
+ );
772
+ var MealPlanChatRoomSummarySchema = import_zod11.z.object({
773
+ chatRoomId: MealPlanChatRoomIdSchema,
774
+ mealPlanId: MealPlanIdSchema,
775
+ messageCount: import_zod11.z.number().int().min(0),
776
+ lastMessageAt: ISODateTimeStringSchema.nullable(),
777
+ createdAt: ISODateTimeStringSchema
778
+ });
779
+ var SendMealPlanChatMessageRequestSchema = import_zod11.z.object({
780
+ message: import_zod11.z.string().min(1).max(500)
781
+ });
782
+ var MealPlanChatMessageResponseSchema = import_zod11.z.object({
783
+ messageId: MealPlanChatMessageIdSchema,
784
+ chatRoomId: MealPlanChatRoomIdSchema,
785
+ sender: MemberCoreSchema.nullable(),
786
+ guestId: import_zod11.z.string().min(1).nullable(),
787
+ guestNickname: import_zod11.z.string().min(1).nullable(),
788
+ kind: MealPlanChatMessageKindSchema,
789
+ message: import_zod11.z.string().min(1).max(1e3),
790
+ systemPayload: MealPlanChatSystemPayloadSchema.nullable(),
791
+ createdAt: ISODateTimeStringSchema
792
+ });
793
+ var MealPlanSystemMessageSchema = import_zod11.z.object({
794
+ kind: MealPlanSystemMessageKindSchema,
795
+ message: import_zod11.z.string().min(1),
796
+ createdAt: ISODateTimeStringSchema
797
+ });
798
+
799
+ // src/domain/meal-plan/meal-plan.schema.ts
800
+ var MealPlanStatusSchema = import_zod12.z.enum([
801
+ "DRAFT",
802
+ "RECOMMENDING",
803
+ "GATHERING",
804
+ "DECIDING",
805
+ "READY",
806
+ "CONFIRMED",
807
+ "LOCKED",
808
+ "COMPLETED",
809
+ "RECORDED",
810
+ "CANCELLED"
811
+ ]);
812
+ var MealPlanChannelSchema = import_zod12.z.enum([
813
+ "OWNER_ONLY",
814
+ "FRIEND_INVITE",
815
+ "LINK_GUEST",
816
+ "NEARBY_FRIENDS"
817
+ ]);
818
+ var MealPlanRecommendationContextSchema = import_zod12.z.object({
819
+ mealDate: ISODateStringSchema.optional(),
820
+ mealTime: TimeHHmmStringSchema.optional(),
821
+ area: MealPlanLocationCandidateSchema.optional(),
822
+ preferredMenuCategories: import_zod12.z.array(import_zod12.z.string().min(1)).default([]),
823
+ excludedMenuCategories: import_zod12.z.array(import_zod12.z.string().min(1)).default([]),
824
+ candidateMenuCategories: import_zod12.z.array(import_zod12.z.string().min(1)).default([]),
825
+ budgetMin: import_zod12.z.number().int().min(0).optional(),
826
+ budgetMax: import_zod12.z.number().int().min(0).optional(),
827
+ memo: import_zod12.z.string().max(500).optional()
828
+ });
829
+ var CreateMealPlanRequestSchema = import_zod12.z.object({
830
+ title: import_zod12.z.string().min(1).max(100).optional(),
831
+ channels: import_zod12.z.array(MealPlanChannelSchema).default(["OWNER_ONLY"]),
832
+ recommendationContext: MealPlanRecommendationContextSchema.optional()
833
+ });
834
+ var CreateMealPlanResponseSchema = import_zod12.z.object({
835
+ mealPlanId: MealPlanIdSchema
836
+ });
837
+ var UpdateMealPlanContextRequestSchema = MealPlanRecommendationContextSchema.partial();
838
+ var MealPlanViewerRoleSchema = import_zod12.z.enum([
839
+ "OWNER",
840
+ "FRIEND",
841
+ "GUEST",
842
+ "NONE"
843
+ ]);
844
+ var MealPlanViewerPermissionsSchema = import_zod12.z.object({
845
+ canView: import_zod12.z.boolean(),
846
+ canInviteFriends: import_zod12.z.boolean(),
847
+ canManageParticipants: import_zod12.z.boolean(),
848
+ canCreateShareLink: import_zod12.z.boolean(),
849
+ canExposeNearbyFriends: import_zod12.z.boolean(),
850
+ canVote: import_zod12.z.boolean(),
851
+ canChat: import_zod12.z.boolean(),
852
+ canReadyMealPlan: import_zod12.z.boolean(),
853
+ canRequestChange: import_zod12.z.boolean(),
854
+ canReopenDecisionTask: import_zod12.z.boolean(),
855
+ canConfirmDecisionSnapshot: import_zod12.z.boolean(),
856
+ canConfirmMealPlan: import_zod12.z.boolean(),
857
+ canCompleteMealPlan: import_zod12.z.boolean(),
858
+ canRecordMealPlan: import_zod12.z.boolean(),
859
+ canCancelMealPlan: import_zod12.z.boolean()
860
+ });
861
+ var MealPlanResponseSchema = import_zod12.z.object({
862
+ mealPlanId: MealPlanIdSchema,
863
+ owner: MemberCoreSchema,
864
+ title: import_zod12.z.string().nullable(),
865
+ status: MealPlanStatusSchema,
866
+ channels: import_zod12.z.array(MealPlanChannelSchema),
867
+ participants: import_zod12.z.array(MealPlanParticipantResponseSchema),
868
+ pendingInvites: import_zod12.z.array(MealPlanInviteSummarySchema),
869
+ pendingJoinRequests: import_zod12.z.array(MealPlanJoinRequestSummarySchema),
870
+ decisionStages: import_zod12.z.array(MealPlanDecisionStageResponseSchema),
871
+ decisionProgress: MealPlanDecisionProgressSchema.nullable(),
872
+ viewerRole: MealPlanViewerRoleSchema,
873
+ viewerParticipantStatus: MealPlanParticipantStatusSchema.nullable(),
874
+ viewerPermissions: MealPlanViewerPermissionsSchema,
875
+ selectedDate: ISODateStringSchema.nullable(),
876
+ selectedTime: TimeHHmmStringSchema.nullable(),
877
+ selectedArea: MealPlanLocationCandidateSchema.nullable(),
878
+ selectedRestaurant: RestaurantSchema.nullable(),
879
+ selectedMenuCategory: import_zod12.z.string().nullable(),
880
+ chatRoom: MealPlanChatRoomSummarySchema.nullable(),
881
+ confirmedAt: ISODateTimeStringSchema.nullable(),
882
+ lockedAt: ISODateTimeStringSchema.nullable(),
883
+ completedAt: ISODateTimeStringSchema.nullable(),
884
+ recordedAt: ISODateTimeStringSchema.nullable(),
885
+ createdAt: ISODateTimeStringSchema,
886
+ updatedAt: ISODateTimeStringSchema
887
+ });
888
+ var MyMealPlanGroupSchema = import_zod12.z.enum(["DECIDING", "UPCOMING", "RECORD_NEEDED", "PAST"]);
889
+ var MyMealPlanListItemSchema = import_zod12.z.object({
890
+ mealPlanId: MealPlanIdSchema,
891
+ group: MyMealPlanGroupSchema,
892
+ title: import_zod12.z.string(),
893
+ status: MealPlanStatusSchema,
894
+ channels: import_zod12.z.array(MealPlanChannelSchema),
895
+ participantCount: import_zod12.z.number().int().min(1),
896
+ selectedDate: ISODateStringSchema.nullable(),
897
+ selectedTime: TimeHHmmStringSchema.nullable(),
898
+ selectedAreaName: import_zod12.z.string().nullable(),
899
+ selectedRestaurantName: import_zod12.z.string().nullable(),
900
+ primaryAction: import_zod12.z.object({
901
+ label: import_zod12.z.string(),
902
+ href: import_zod12.z.string()
903
+ }),
904
+ updatedAt: ISODateTimeStringSchema
905
+ });
906
+ var MyMealPlanListResponseSchema = import_zod12.z.object({
907
+ deciding: import_zod12.z.array(MyMealPlanListItemSchema),
908
+ upcoming: import_zod12.z.array(MyMealPlanListItemSchema),
909
+ recordNeeded: import_zod12.z.array(MyMealPlanListItemSchema),
910
+ past: import_zod12.z.array(MyMealPlanListItemSchema)
911
+ });
912
+ var MealPlanNotificationKindSchema = import_zod12.z.enum([
913
+ "MEAL_PLAN_INVITE_RECEIVED",
914
+ "MEAL_PLAN_INVITE_ACCEPTED",
915
+ "MEAL_PLAN_JOIN_REQUESTED",
916
+ "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
917
+ "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
918
+ "MEAL_PLAN_PARTICIPANT_JOINED",
919
+ "MEAL_PLAN_READY_COMPLETED",
920
+ "MEAL_PLAN_CONFIRMED",
921
+ "MEAL_PLAN_LOCKED",
922
+ "MEAL_PLAN_RECORD_NEEDED"
923
+ ]);
924
+ var MealPlanNotificationPriorityChannelSchema = import_zod12.z.enum([
925
+ "HOME",
926
+ "NOTIFICATION_INBOX",
927
+ "FCM_PUSH",
928
+ "LIVE_ACTIVITY"
929
+ ]);
930
+ var MealPlanLiveActivityBehaviorSchema = import_zod12.z.enum([
931
+ "NONE",
932
+ "START_OR_UPDATE",
933
+ "UPDATE",
934
+ "END"
935
+ ]);
936
+ var MealPlanNotificationPriorityPolicyItemSchema = import_zod12.z.object({
937
+ kind: MealPlanNotificationKindSchema,
938
+ priority: import_zod12.z.number().int().min(0),
939
+ homePriority: import_zod12.z.number().int().min(0),
940
+ inboxPriority: import_zod12.z.number().int().min(0),
941
+ fcmPriority: import_zod12.z.number().int().min(0),
942
+ liveActivityPriority: import_zod12.z.number().int().min(0),
943
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema,
944
+ foregroundToast: import_zod12.z.boolean()
945
+ });
946
+ var MealPlanNotificationSchema = import_zod12.z.object({
947
+ notificationId: import_zod12.z.string().min(1),
948
+ kind: MealPlanNotificationKindSchema,
949
+ mealPlanId: MealPlanIdSchema,
950
+ deepLink: import_zod12.z.string().min(1),
951
+ title: import_zod12.z.string().min(1),
952
+ message: import_zod12.z.string().min(1),
953
+ createdAt: ISODateTimeStringSchema,
954
+ readAt: ISODateTimeStringSchema.nullable()
955
+ });
956
+
957
+ // src/domain/push/push.schema.ts
958
+ var PushProviderSchema = import_zod13.z.enum(["FCM", "APNS_LIVE_ACTIVITY"]);
959
+ var PushPlatformSchema = import_zod13.z.enum(["WEB", "ANDROID", "IOS"]);
960
+ var PushPermissionStatusSchema = import_zod13.z.enum([
961
+ "UNKNOWN",
962
+ "PROMPT",
963
+ "GRANTED",
964
+ "DENIED"
965
+ ]);
966
+ var PushTokenStatusSchema = import_zod13.z.enum(["ACTIVE", "REVOKED", "DISABLED"]);
967
+ var RegisterPushTokenRequestSchema = import_zod13.z.object({
968
+ provider: PushProviderSchema.default("FCM"),
969
+ platform: PushPlatformSchema,
970
+ token: import_zod13.z.string().min(10),
971
+ deviceId: import_zod13.z.string().min(1).max(128),
972
+ appVersion: import_zod13.z.string().min(1).max(64).optional(),
973
+ buildNumber: import_zod13.z.string().min(1).max(64).optional(),
974
+ permissionStatus: PushPermissionStatusSchema
975
+ });
976
+ var RevokePushTokenRequestSchema = import_zod13.z.object({
977
+ provider: PushProviderSchema.default("FCM"),
978
+ token: import_zod13.z.string().min(10).optional(),
979
+ deviceId: import_zod13.z.string().min(1).max(128).optional()
980
+ });
981
+ var PushTokenResponseSchema = import_zod13.z.object({
982
+ pushTokenId: import_zod13.z.string().uuid(),
983
+ provider: PushProviderSchema,
984
+ platform: PushPlatformSchema,
985
+ deviceId: import_zod13.z.string(),
986
+ status: PushTokenStatusSchema,
987
+ permissionStatus: PushPermissionStatusSchema,
988
+ appVersion: import_zod13.z.string().nullable(),
989
+ buildNumber: import_zod13.z.string().nullable(),
990
+ lastSeenAt: ISODateTimeStringSchema,
991
+ revokedAt: ISODateTimeStringSchema.nullable()
992
+ });
993
+ var PushPayloadSchemaVersionSchema = import_zod13.z.literal("2026-06-17");
994
+ var MealPlanPushPayloadDataSchema = import_zod13.z.object({
995
+ schemaVersion: PushPayloadSchemaVersionSchema,
996
+ notificationId: import_zod13.z.string().min(1),
997
+ kind: MealPlanNotificationKindSchema,
998
+ mealPlanId: MealPlanIdSchema,
999
+ deepLink: import_zod13.z.string().min(1),
1000
+ title: import_zod13.z.string().min(1),
1001
+ body: import_zod13.z.string().min(1),
1002
+ fcmPriority: import_zod13.z.coerce.number().int().min(0),
1003
+ liveActivityPriority: import_zod13.z.coerce.number().int().min(0),
1004
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema
1005
+ });
1006
+ var PushDeliveryStatusSchema = import_zod13.z.enum([
1007
+ "PENDING",
1008
+ "SENT",
1009
+ "FAILED",
1010
+ "SKIPPED"
1011
+ ]);
1012
+ var PushDeliveryAttemptResultSchema = import_zod13.z.enum([
1013
+ "SENT",
1014
+ "FAILED",
1015
+ "SKIPPED"
1016
+ ]);
1017
+ var PushDeliveryAttemptSummarySchema = import_zod13.z.object({
1018
+ attemptId: import_zod13.z.string().uuid(),
1019
+ outboxId: import_zod13.z.string().uuid(),
1020
+ pushTokenId: import_zod13.z.string().uuid().nullable(),
1021
+ provider: PushProviderSchema,
1022
+ result: PushDeliveryAttemptResultSchema,
1023
+ providerMessageId: import_zod13.z.string().nullable(),
1024
+ errorCode: import_zod13.z.string().nullable(),
1025
+ errorMessage: import_zod13.z.string().nullable(),
1026
+ invalidToken: import_zod13.z.boolean(),
1027
+ createdAt: ISODateTimeStringSchema
1028
+ });
1029
+ var PushDeliveryOutboxSummarySchema = import_zod13.z.object({
1030
+ outboxId: import_zod13.z.string().uuid(),
1031
+ notificationId: import_zod13.z.string().min(1),
1032
+ memberId: import_zod13.z.number().int().positive(),
1033
+ status: PushDeliveryStatusSchema,
1034
+ attemptCount: import_zod13.z.number().int().min(0),
1035
+ lastError: import_zod13.z.string().nullable(),
1036
+ nextAttemptAt: ISODateTimeStringSchema.nullable(),
1037
+ sentAt: ISODateTimeStringSchema.nullable(),
1038
+ createdAt: ISODateTimeStringSchema
1039
+ });
1040
+ // Annotate the CommonJS export names for ESM import in node:
1041
+ 0 && (module.exports = {
1042
+ MealPlanPushPayloadDataSchema,
1043
+ PushDeliveryAttemptResultSchema,
1044
+ PushDeliveryAttemptSummarySchema,
1045
+ PushDeliveryOutboxSummarySchema,
1046
+ PushDeliveryStatusSchema,
1047
+ PushPayloadSchemaVersionSchema,
1048
+ PushPermissionStatusSchema,
1049
+ PushPlatformSchema,
1050
+ PushProviderSchema,
1051
+ PushTokenResponseSchema,
1052
+ PushTokenStatusSchema,
1053
+ RegisterPushTokenRequestSchema,
1054
+ RevokePushTokenRequestSchema
1055
+ });