@kimdaegyu/babmukdang-shared 1.1.10 → 2.0.2

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 (88) hide show
  1. package/dist/chunk-3BLXZW4U.js +338 -0
  2. package/dist/{chunk-AI2YMBJX.js → chunk-65DWKLP6.js} +18 -9
  3. package/dist/{chunk-H77ISYYC.js → chunk-6R5CCY5Q.js} +22 -8
  4. package/dist/{chunk-4E5E3PFW.js → chunk-DRCY5UNQ.js} +20 -7
  5. package/dist/chunk-EX7S5FI5.js +91 -0
  6. package/dist/{chunk-HRM3FQPL.js → chunk-EYZU5HPG.js} +4 -1
  7. package/dist/{chunk-OJVXYCSH.js → chunk-G7TITUHT.js} +1 -1
  8. package/dist/chunk-GESEM4IA.js +122 -0
  9. package/dist/chunk-IPANLE7B.js +632 -0
  10. package/dist/chunk-KREAZLLH.js +1062 -0
  11. package/dist/{chunk-K3CZKI2F.js → chunk-P3MYMK34.js} +24 -13
  12. package/dist/chunk-Q4BPFDVB.js +171 -0
  13. package/dist/{chunk-W4C7XHTX.js → chunk-QUAG5LF5.js} +13 -6
  14. package/dist/chunk-TIOX7OHA.js +863 -0
  15. package/dist/{chunk-GTVEQYJW.js → chunk-TOXRHSD6.js} +1 -1
  16. package/dist/chunk-YV734GYZ.js +165 -0
  17. package/dist/domain/article/index.cjs +107 -15
  18. package/dist/domain/article/index.d.cts +254 -0
  19. package/dist/domain/article/index.d.ts +254 -0
  20. package/dist/domain/article/index.js +5 -5
  21. package/dist/domain/auth/index.cjs +88 -9
  22. package/dist/domain/auth/index.d.cts +29 -0
  23. package/dist/domain/auth/index.d.ts +29 -0
  24. package/dist/domain/auth/index.js +3 -3
  25. package/dist/domain/common/index.cjs +2100 -395
  26. package/dist/domain/common/index.d.cts +328 -0
  27. package/dist/domain/common/index.d.ts +328 -0
  28. package/dist/domain/common/index.js +65 -31
  29. package/dist/domain/food/index.cjs +248 -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 +44 -0
  33. package/dist/domain/friend/index.cjs +108 -12
  34. package/dist/domain/friend/index.d.cts +72 -0
  35. package/dist/domain/friend/index.d.ts +72 -0
  36. package/dist/domain/friend/index.js +6 -4
  37. package/dist/domain/index.cjs +2736 -522
  38. package/dist/domain/index.d.cts +576 -0
  39. package/dist/domain/index.d.ts +576 -0
  40. package/dist/domain/index.js +429 -140
  41. package/dist/domain/live-activity/index.cjs +1061 -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 +27 -0
  45. package/dist/domain/meal/index.cjs +101 -12
  46. package/dist/domain/meal/index.d.cts +47 -0
  47. package/dist/domain/meal/index.d.ts +47 -0
  48. package/dist/domain/meal/index.js +4 -4
  49. package/dist/domain/meal-plan/index.cjs +1504 -0
  50. package/dist/domain/meal-plan/index.d.cts +4424 -0
  51. package/dist/domain/meal-plan/index.d.ts +4424 -0
  52. package/dist/domain/meal-plan/index.js +256 -0
  53. package/dist/domain/member/index.cjs +114 -9
  54. package/dist/domain/member/index.d.cts +330 -0
  55. package/dist/domain/member/index.d.ts +330 -0
  56. package/dist/domain/member/index.js +26 -2
  57. package/dist/domain/promotion/index.cjs +26 -8
  58. package/dist/domain/promotion/index.d.cts +81 -0
  59. package/dist/domain/promotion/index.d.ts +81 -0
  60. package/dist/domain/promotion/index.js +3 -3
  61. package/dist/domain/push/index.cjs +1004 -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 +35 -0
  65. package/dist/domain/restaurant/index.cjs +10 -4
  66. package/dist/domain/restaurant/index.d.cts +34 -0
  67. package/dist/domain/restaurant/index.d.ts +34 -0
  68. package/dist/domain/restaurant/index.js +2 -2
  69. package/dist/index.cjs +2533 -640
  70. package/dist/index.d.cts +14 -0
  71. package/dist/index.d.ts +14 -0
  72. package/dist/index.js +16 -191
  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.js +0 -13
  83. package/dist/domain/plan/index.cjs +0 -327
  84. package/dist/domain/plan/index.js +0 -18
  85. package/dist/domain/recruit/index.cjs +0 -189
  86. package/dist/domain/recruit/index.js +0 -30
  87. package/dist/domain/room/index.cjs +0 -401
  88. package/dist/domain/room/index.js +0 -82
@@ -0,0 +1,1504 @@
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/domain/meal-plan/index.ts
32
+ var meal_plan_exports = {};
33
+ __export(meal_plan_exports, {
34
+ AddMealGroupMemberRequestSchema: () => AddMealGroupMemberRequestSchema,
35
+ CompleteMealPlanDecisionStageRequestSchema: () => CompleteMealPlanDecisionStageRequestSchema,
36
+ ConfirmMealPlanDecisionSnapshotRequestSchema: () => ConfirmMealPlanDecisionSnapshotRequestSchema,
37
+ CreateMealGroupRequestSchema: () => CreateMealGroupRequestSchema,
38
+ CreateMealPlanChangeRequestSchema: () => CreateMealPlanChangeRequestSchema,
39
+ CreateMealPlanInviteRequestSchema: () => CreateMealPlanInviteRequestSchema,
40
+ CreateMealPlanJoinRequestSchema: () => CreateMealPlanJoinRequestSchema,
41
+ CreateMealPlanParticipantRequestSchema: () => CreateMealPlanParticipantRequestSchema,
42
+ CreateMealPlanRequestSchema: () => CreateMealPlanRequestSchema,
43
+ CreateMealPlanResponseSchema: () => CreateMealPlanResponseSchema,
44
+ CreateMealPlanShareLinkRequestSchema: () => CreateMealPlanShareLinkRequestSchema,
45
+ CreateMealPlanVoteRequestSchema: () => CreateMealPlanVoteRequestSchema,
46
+ ExposeMealPlanToNearbyFriendsRequestSchema: () => ExposeMealPlanToNearbyFriendsRequestSchema,
47
+ ExposeMealPlanToNearbyFriendsResponseSchema: () => ExposeMealPlanToNearbyFriendsResponseSchema,
48
+ HomeMealPlanActionCardSchema: () => HomeMealPlanActionCardSchema,
49
+ HomeMealPlanActionKindSchema: () => HomeMealPlanActionKindSchema,
50
+ HomeMealPlanDashboardResponseSchema: () => HomeMealPlanDashboardResponseSchema,
51
+ JoinMealPlanGuestRequestSchema: () => JoinMealPlanGuestRequestSchema,
52
+ JoinMealPlanGuestResponseSchema: () => JoinMealPlanGuestResponseSchema,
53
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES: () => MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
54
+ MealGroupHistoryItemSchema: () => MealGroupHistoryItemSchema,
55
+ MealGroupHistoryResponseSchema: () => MealGroupHistoryResponseSchema,
56
+ MealGroupMemberRoleSchema: () => MealGroupMemberRoleSchema,
57
+ MealGroupMemberSchema: () => MealGroupMemberSchema,
58
+ MealGroupPreferenceSummarySchema: () => MealGroupPreferenceSummarySchema,
59
+ MealGroupResponseSchema: () => MealGroupResponseSchema,
60
+ MealMapFriendRecordLocationMetadataSchema: () => MealMapFriendRecordLocationMetadataSchema,
61
+ MealMapLayerSchema: () => MealMapLayerSchema,
62
+ MealMapMarkerSchema: () => MealMapMarkerSchema,
63
+ MealMapMyMealPlanPlaceMetadataSchema: () => MealMapMyMealPlanPlaceMetadataSchema,
64
+ MealMapNearbyFriendMealPlanMetadataSchema: () => MealMapNearbyFriendMealPlanMetadataSchema,
65
+ MealMapQuerySchema: () => MealMapQuerySchema,
66
+ MealMapResponseSchema: () => MealMapResponseSchema,
67
+ MealMapRestaurantCandidateCompletionBlockedReasonSchema: () => MealMapRestaurantCandidateCompletionBlockedReasonSchema,
68
+ MealMapRestaurantCandidateMetadataSchema: () => MealMapRestaurantCandidateMetadataSchema,
69
+ MealPlanChangeRequestStatusSchema: () => MealPlanChangeRequestStatusSchema,
70
+ MealPlanChangeRequestSummarySchema: () => MealPlanChangeRequestSummarySchema,
71
+ MealPlanChannelSchema: () => MealPlanChannelSchema,
72
+ MealPlanChatMessageKindSchema: () => MealPlanChatMessageKindSchema,
73
+ MealPlanChatMessageListResponseSchema: () => MealPlanChatMessageListResponseSchema,
74
+ MealPlanChatMessageResponseSchema: () => MealPlanChatMessageResponseSchema,
75
+ MealPlanChatRoomSummarySchema: () => MealPlanChatRoomSummarySchema,
76
+ MealPlanChatSystemPayloadSchema: () => MealPlanChatSystemPayloadSchema,
77
+ MealPlanDecisionActorTypeSchema: () => MealPlanDecisionActorTypeSchema,
78
+ MealPlanDecisionCandidateSchema: () => MealPlanDecisionCandidateSchema,
79
+ MealPlanDecisionFinalFieldSchema: () => MealPlanDecisionFinalFieldSchema,
80
+ MealPlanDecisionProgressSchema: () => MealPlanDecisionProgressSchema,
81
+ MealPlanDecisionReasonSchema: () => MealPlanDecisionReasonSchema,
82
+ MealPlanDecisionSnapshotSchema: () => MealPlanDecisionSnapshotSchema,
83
+ MealPlanDecisionSnapshotStatusSchema: () => MealPlanDecisionSnapshotStatusSchema,
84
+ MealPlanDecisionStageIdSchema: () => MealPlanDecisionStageIdSchema,
85
+ MealPlanDecisionStageMetadataSchema: () => MealPlanDecisionStageMetadataSchema,
86
+ MealPlanDecisionStageResponseSchema: () => MealPlanDecisionStageResponseSchema,
87
+ MealPlanDecisionStageStatusSchema: () => MealPlanDecisionStageStatusSchema,
88
+ MealPlanDecisionStageTypeSchema: () => MealPlanDecisionStageTypeSchema,
89
+ MealPlanDecisionTaskKeySchema: () => MealPlanDecisionTaskKeySchema,
90
+ MealPlanDecisionTaskProgressSchema: () => MealPlanDecisionTaskProgressSchema,
91
+ MealPlanDecisionTaskReadyRequestSchema: () => MealPlanDecisionTaskReadyRequestSchema,
92
+ MealPlanDecisionTaskStatusSchema: () => MealPlanDecisionTaskStatusSchema,
93
+ MealPlanGuestParticipantSchema: () => MealPlanGuestParticipantSchema,
94
+ MealPlanGuestSessionQuerySchema: () => MealPlanGuestSessionQuerySchema,
95
+ MealPlanGuestSessionResponseSchema: () => MealPlanGuestSessionResponseSchema,
96
+ MealPlanInviteListResponseSchema: () => MealPlanInviteListResponseSchema,
97
+ MealPlanInviteStatusSchema: () => MealPlanInviteStatusSchema,
98
+ MealPlanInviteSummarySchema: () => MealPlanInviteSummarySchema,
99
+ MealPlanJoinRequestStatusSchema: () => MealPlanJoinRequestStatusSchema,
100
+ MealPlanJoinRequestSummarySchema: () => MealPlanJoinRequestSummarySchema,
101
+ MealPlanJoinSourceSchema: () => MealPlanJoinSourceSchema,
102
+ MealPlanLatitudeSchema: () => MealPlanLatitudeSchema,
103
+ MealPlanLiveActivityBehaviorSchema: () => MealPlanLiveActivityBehaviorSchema,
104
+ MealPlanLocationCandidateIdSchema: () => MealPlanLocationCandidateIdSchema,
105
+ MealPlanLocationCandidateSchema: () => MealPlanLocationCandidateSchema,
106
+ MealPlanLocationCandidateSourceSchema: () => MealPlanLocationCandidateSourceSchema,
107
+ MealPlanLongitudeSchema: () => MealPlanLongitudeSchema,
108
+ MealPlanMenuCandidateIdSchema: () => MealPlanMenuCandidateIdSchema,
109
+ MealPlanMenuCandidateSchema: () => MealPlanMenuCandidateSchema,
110
+ MealPlanMenuCandidateSourceSchema: () => MealPlanMenuCandidateSourceSchema,
111
+ MealPlanNearbyFriendExposureBatchSummarySchema: () => MealPlanNearbyFriendExposureBatchSummarySchema,
112
+ MealPlanNearbyFriendExposureIdSchema: () => MealPlanNearbyFriendExposureIdSchema,
113
+ MealPlanNearbyFriendExposureNotificationStatusSchema: () => MealPlanNearbyFriendExposureNotificationStatusSchema,
114
+ MealPlanNearbyFriendExposureStatusSchema: () => MealPlanNearbyFriendExposureStatusSchema,
115
+ MealPlanNearbyFriendExposureSummarySchema: () => MealPlanNearbyFriendExposureSummarySchema,
116
+ MealPlanNearbyFriendRejectionReasonSchema: () => MealPlanNearbyFriendRejectionReasonSchema,
117
+ MealPlanNearbyFriendRejectionSummarySchema: () => MealPlanNearbyFriendRejectionSummarySchema,
118
+ MealPlanNotificationKindSchema: () => MealPlanNotificationKindSchema,
119
+ MealPlanNotificationPriorityChannelSchema: () => MealPlanNotificationPriorityChannelSchema,
120
+ MealPlanNotificationPriorityPolicyItemSchema: () => MealPlanNotificationPriorityPolicyItemSchema,
121
+ MealPlanNotificationSchema: () => MealPlanNotificationSchema,
122
+ MealPlanParticipantIdSchema: () => MealPlanParticipantIdSchema,
123
+ MealPlanParticipantResponseSchema: () => MealPlanParticipantResponseSchema,
124
+ MealPlanParticipantRoleSchema: () => MealPlanParticipantRoleSchema,
125
+ MealPlanParticipantStatusSchema: () => MealPlanParticipantStatusSchema,
126
+ MealPlanRecommendationContextSchema: () => MealPlanRecommendationContextSchema,
127
+ MealPlanResponseSchema: () => MealPlanResponseSchema,
128
+ MealPlanRestaurantCandidateSchema: () => MealPlanRestaurantCandidateSchema,
129
+ MealPlanRestaurantSearchStateSchema: () => MealPlanRestaurantSearchStateSchema,
130
+ MealPlanRestaurantSearchStatusSchema: () => MealPlanRestaurantSearchStatusSchema,
131
+ MealPlanShareLinkSummarySchema: () => MealPlanShareLinkSummarySchema,
132
+ MealPlanSharePreviewResponseSchema: () => MealPlanSharePreviewResponseSchema,
133
+ MealPlanStatusSchema: () => MealPlanStatusSchema,
134
+ MealPlanSystemMessageKindSchema: () => MealPlanSystemMessageKindSchema,
135
+ MealPlanSystemMessageSchema: () => MealPlanSystemMessageSchema,
136
+ MealPlanViewerPermissionsSchema: () => MealPlanViewerPermissionsSchema,
137
+ MealPlanViewerRoleSchema: () => MealPlanViewerRoleSchema,
138
+ MealPlanVoteIdSchema: () => MealPlanVoteIdSchema,
139
+ MealPlanVoteSchema: () => MealPlanVoteSchema,
140
+ MealPlanVoteTypeSchema: () => MealPlanVoteTypeSchema,
141
+ MyMealPlanGroupSchema: () => MyMealPlanGroupSchema,
142
+ MyMealPlanListItemSchema: () => MyMealPlanListItemSchema,
143
+ MyMealPlanListResponseSchema: () => MyMealPlanListResponseSchema,
144
+ NearbyFriendExposureEligibilitySchema: () => NearbyFriendExposureEligibilitySchema,
145
+ NearbyFriendMealPlanSummarySchema: () => NearbyFriendMealPlanSummarySchema,
146
+ ReopenMealPlanDecisionTaskRequestSchema: () => ReopenMealPlanDecisionTaskRequestSchema,
147
+ SendMealPlanChatMessageRequestSchema: () => SendMealPlanChatMessageRequestSchema,
148
+ SendMealPlanInviteResponseSchema: () => SendMealPlanInviteResponseSchema,
149
+ StartMealPlanFromGroupRequestSchema: () => StartMealPlanFromGroupRequestSchema,
150
+ UpdateMealGroupMemberRoleRequestSchema: () => UpdateMealGroupMemberRoleRequestSchema,
151
+ UpdateMealPlanContextRequestSchema: () => UpdateMealPlanContextRequestSchema,
152
+ compareMealPlanNotificationsByPriority: () => compareMealPlanNotificationsByPriority,
153
+ getMealPlanLiveActivityBehavior: () => getMealPlanLiveActivityBehavior,
154
+ getMealPlanNotificationPriority: () => getMealPlanNotificationPriority,
155
+ getMealPlanNotificationPriorityPolicy: () => getMealPlanNotificationPriorityPolicy,
156
+ shouldShowForegroundToast: () => shouldShowForegroundToast
157
+ });
158
+ module.exports = __toCommonJS(meal_plan_exports);
159
+
160
+ // src/domain/meal-plan/meal-plan.schema.ts
161
+ var import_zod11 = require("zod");
162
+
163
+ // src/domain/common/schema/date.schema.ts
164
+ var import_zod = require("zod");
165
+ var isoDateRegex = /^\d{4}-\d{2}-\d{2}$/;
166
+ var ISODateStringSchema = import_zod.z.string().regex(isoDateRegex, "Expected ISO date string in YYYY-MM-DD format");
167
+ var ISODateTimeStringSchema = import_zod.z.string().datetime({
168
+ offset: true,
169
+ message: "Expected ISO datetime string"
170
+ });
171
+ var TimeHHmmStringSchema = import_zod.z.string().regex(/^\d{2}:\d{2}$/, "Expected time string in HH:mm format");
172
+
173
+ // src/domain/common/schema/id.schema.ts
174
+ var import_zod2 = require("zod");
175
+ var PositiveIntIdSchema = import_zod2.z.number().int().positive();
176
+ var NonEmptyStringIdSchema = import_zod2.z.string().min(1);
177
+ var MemberIdSchema = PositiveIntIdSchema.brand();
178
+ var ArticleIdSchema = PositiveIntIdSchema.brand();
179
+ var CommentIdSchema = PositiveIntIdSchema.brand();
180
+ var MealPlanIdSchema = import_zod2.z.string().uuid().brand();
181
+ var MealPlanInviteIdSchema = import_zod2.z.string().uuid().brand();
182
+ var MealPlanJoinRequestIdSchema = import_zod2.z.string().uuid().brand();
183
+ var MealPlanNearbyFriendExposureBatchIdSchema = import_zod2.z.string().uuid().brand();
184
+ var MealPlanChangeRequestIdSchema = import_zod2.z.string().uuid().brand();
185
+ var MealPlanShareLinkIdSchema = import_zod2.z.string().uuid().brand();
186
+ var MealPlanShareLinkTokenSchema = import_zod2.z.string().min(8).max(128).brand();
187
+ var MealPlanChatRoomIdSchema = import_zod2.z.string().uuid().brand();
188
+ var MealPlanChatMessageIdSchema = import_zod2.z.string().uuid().brand();
189
+ var MealGroupIdSchema = import_zod2.z.string().uuid().brand();
190
+ var RestaurantIdSchema = NonEmptyStringIdSchema.brand();
191
+ var CouponIdSchema = PositiveIntIdSchema.brand();
192
+ var SubscriptionIdSchema = PositiveIntIdSchema.brand();
193
+ var FriendRequestIdSchema = PositiveIntIdSchema.brand();
194
+ var ReferralCodeSchema = import_zod2.z.string().min(4).max(64).brand();
195
+ var FoodCodeSchema = NonEmptyStringIdSchema.brand();
196
+ var FoodLabelSchema = NonEmptyStringIdSchema.brand();
197
+ var FoodSchema = import_zod2.z.object({
198
+ code: FoodCodeSchema,
199
+ label: FoodLabelSchema
200
+ });
201
+
202
+ // src/domain/member/member.schema.ts
203
+ var import_zod4 = require("zod");
204
+
205
+ // src/domain/common/contracts/upload.ts
206
+ var import_zod3 = __toESM(require("zod"), 1);
207
+ var UploadPresignImageResponseSchema = import_zod3.default.object({
208
+ key: import_zod3.default.string(),
209
+ putUrl: import_zod3.default.string().url(),
210
+ cdnUrl: import_zod3.default.string().url()
211
+ });
212
+ var UploadPresignImageRequestSchema = import_zod3.default.object({
213
+ contentType: import_zod3.default.string()
214
+ });
215
+
216
+ // src/domain/member/member.schema.ts
217
+ var MemberRoleSchema = import_zod4.z.enum([
218
+ "USER",
219
+ "ADMIN"
220
+ ]);
221
+ var LocationConsentStatusSchema = import_zod4.z.enum([
222
+ "UNKNOWN",
223
+ "GRANTED",
224
+ "DENIED"
225
+ ]);
226
+ var OnboardingStatusSchema = import_zod4.z.enum([
227
+ "REQUIRED",
228
+ "COMPLETED"
229
+ ]);
230
+ var PermissionKindSchema = import_zod4.z.enum([
231
+ "LOCATION",
232
+ "NOTIFICATION",
233
+ "CAMERA"
234
+ ]);
235
+ var PermissionStatusSchema = import_zod4.z.enum([
236
+ "UNKNOWN",
237
+ "PROMPT",
238
+ "GRANTED",
239
+ "DENIED",
240
+ "LIMITED",
241
+ "UNSUPPORTED"
242
+ ]);
243
+ var PermissionPlatformSchema = import_zod4.z.enum([
244
+ "WEB",
245
+ "IOS",
246
+ "ANDROID",
247
+ "UNKNOWN"
248
+ ]);
249
+ var DevicePermissionSnapshotSchema = import_zod4.z.object({
250
+ kind: PermissionKindSchema,
251
+ status: PermissionStatusSchema,
252
+ platform: PermissionPlatformSchema.default("UNKNOWN"),
253
+ canAskAgain: import_zod4.z.boolean().optional(),
254
+ checkedAt: import_zod4.z.string().datetime()
255
+ });
256
+ var MemberLocationSchema = import_zod4.z.object({
257
+ latitude: import_zod4.z.number().min(-90).max(90),
258
+ longitude: import_zod4.z.number().min(-180).max(180),
259
+ accuracyMeters: import_zod4.z.number().min(0).nullable().optional(),
260
+ capturedAt: import_zod4.z.string().datetime()
261
+ });
262
+ var UpdateMemberLocationConsentRequestSchema = import_zod4.z.object({
263
+ locationConsentStatus: LocationConsentStatusSchema,
264
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().default(false),
265
+ mealSuggestionAllowed: import_zod4.z.boolean().optional(),
266
+ permissionSnapshot: DevicePermissionSnapshotSchema.optional()
267
+ });
268
+ var MemberLocationSettingsResponseSchema = import_zod4.z.object({
269
+ locationConsentStatus: LocationConsentStatusSchema,
270
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean(),
271
+ mealSuggestionAllowed: import_zod4.z.boolean(),
272
+ lastKnownLocation: MemberLocationSchema.nullable(),
273
+ permissionSnapshot: DevicePermissionSnapshotSchema.nullable().optional(),
274
+ updatedAt: import_zod4.z.string().datetime().nullable()
275
+ });
276
+ var MemberCoreSchema = import_zod4.z.object({
277
+ memberId: MemberIdSchema,
278
+ username: import_zod4.z.string().min(1).max(50),
279
+ profileImageUrl: import_zod4.z.string().url().nullable().optional()
280
+ });
281
+ var UploadProfileImageResponseSchema = UploadPresignImageResponseSchema.extend({});
282
+ var UploadProfileImageRequestSchema = UploadPresignImageRequestSchema.extend({});
283
+ var MemberResponseSchema = MemberCoreSchema.pick({
284
+ memberId: true,
285
+ username: true,
286
+ profileImageUrl: true
287
+ }).extend({
288
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
289
+ onboardingCompletedAt: import_zod4.z.string().datetime().nullable().default(null),
290
+ locationConsentStatus: LocationConsentStatusSchema.optional(),
291
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().optional()
292
+ });
293
+ var MemberSearchQuerySchema = import_zod4.z.object({
294
+ email: import_zod4.z.string().email().optional(),
295
+ username: import_zod4.z.string().optional()
296
+ });
297
+ var MemberSerachResponseSchema = import_zod4.z.array(MemberCoreSchema);
298
+ var MemberDetailSchema = MemberCoreSchema.extend({
299
+ bio: import_zod4.z.string().nullable(),
300
+ friendConunt: import_zod4.z.number().int().min(0).default(0),
301
+ completedPlans: import_zod4.z.number().int().min(0).default(0),
302
+ uncompletedPlans: import_zod4.z.number().int().min(0).default(0),
303
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
304
+ onboardingCompletedAt: import_zod4.z.string().datetime().nullable().default(null),
305
+ locationConsentStatus: LocationConsentStatusSchema.default("UNKNOWN"),
306
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().default(false)
307
+ });
308
+ var FoodPreferenceItemSchema = FoodSchema.extend({});
309
+ var MemberFoodPreferenceSchema = import_zod4.z.object({
310
+ liked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
311
+ disliked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
312
+ allergy: import_zod4.z.array(FoodPreferenceItemSchema).optional()
313
+ });
314
+ var UpdateProfileRequestSchema = import_zod4.z.object({
315
+ username: import_zod4.z.string().min(1).max(50),
316
+ profileImageUrl: import_zod4.z.string().url().nullable(),
317
+ bio: import_zod4.z.string().max(500).nullable()
318
+ });
319
+ var UpdatePreferenceRequestSchema = MemberFoodPreferenceSchema;
320
+ var CompleteOnboardingRequestSchema = UpdateProfileRequestSchema.merge(UpdatePreferenceRequestSchema);
321
+ var OnboardingDraftSchema = import_zod4.z.object({
322
+ username: import_zod4.z.string().min(1).max(50).optional(),
323
+ profileImageUrl: import_zod4.z.string().url().nullable().optional(),
324
+ bio: import_zod4.z.string().max(500).nullable().optional(),
325
+ liked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
326
+ disliked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
327
+ allergy: import_zod4.z.array(FoodPreferenceItemSchema).optional()
328
+ });
329
+
330
+ // src/domain/restaurant/restaurant.schema.ts
331
+ var import_zod5 = require("zod");
332
+ var RestaurantSchema = import_zod5.z.object({
333
+ restaurantId: RestaurantIdSchema,
334
+ placeName: import_zod5.z.string(),
335
+ categoryName: import_zod5.z.string(),
336
+ categoryGroupName: import_zod5.z.string(),
337
+ distance: import_zod5.z.string().optional(),
338
+ roadAddressName: import_zod5.z.string(),
339
+ addressName: import_zod5.z.string(),
340
+ phone: import_zod5.z.string().nullable(),
341
+ placeUrl: import_zod5.z.string().url().nullable(),
342
+ lat: import_zod5.z.number(),
343
+ lng: import_zod5.z.number()
344
+ });
345
+ var KakaoPlaceRawSchema = import_zod5.z.object({
346
+ id: RestaurantIdSchema,
347
+ place_name: import_zod5.z.string(),
348
+ category_name: import_zod5.z.string(),
349
+ category_group_name: import_zod5.z.string(),
350
+ distance: import_zod5.z.string(),
351
+ road_address_name: import_zod5.z.string(),
352
+ address_name: import_zod5.z.string(),
353
+ phone: import_zod5.z.string(),
354
+ place_url: import_zod5.z.string().url().optional(),
355
+ lat: import_zod5.z.number(),
356
+ lng: import_zod5.z.number()
357
+ });
358
+
359
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
360
+ var import_zod6 = require("zod");
361
+ var MealPlanLatitudeSchema = import_zod6.z.number().brand();
362
+ var MealPlanLongitudeSchema = import_zod6.z.number().brand();
363
+ var MealPlanLocationCandidateIdSchema = import_zod6.z.string().min(1).brand();
364
+ var MealPlanMenuCandidateIdSchema = import_zod6.z.string().min(1).brand();
365
+ var MealPlanDecisionStageIdSchema = import_zod6.z.string().uuid().brand();
366
+ var MealPlanVoteIdSchema = import_zod6.z.string().uuid().brand();
367
+ var MealPlanLocationCandidateSourceSchema = import_zod6.z.enum([
368
+ "manual",
369
+ "midpoint",
370
+ "search",
371
+ "recent-place",
372
+ "fallback"
373
+ ]);
374
+ var MealPlanLocationCandidateSchema = import_zod6.z.object({
375
+ locationId: MealPlanLocationCandidateIdSchema,
376
+ placeName: import_zod6.z.string().min(1),
377
+ lat: MealPlanLatitudeSchema,
378
+ lng: MealPlanLongitudeSchema,
379
+ address: import_zod6.z.string().default(""),
380
+ source: MealPlanLocationCandidateSourceSchema.default("manual"),
381
+ createdBy: MemberIdSchema.optional(),
382
+ createdAt: ISODateTimeStringSchema.optional()
383
+ });
384
+ var MealPlanMenuCandidateSourceSchema = import_zod6.z.enum([
385
+ "external-recommendation",
386
+ "prefer-menu",
387
+ "recent-menu",
388
+ "fallback",
389
+ "manual-search"
390
+ ]);
391
+ var MealPlanMenuCandidateSchema = import_zod6.z.object({
392
+ menuCandidateId: MealPlanMenuCandidateIdSchema,
393
+ menu: FoodSchema,
394
+ source: MealPlanMenuCandidateSourceSchema,
395
+ score: import_zod6.z.number().default(0),
396
+ createdAt: ISODateTimeStringSchema
397
+ });
398
+ var MealPlanRestaurantCandidateSchema = RestaurantSchema.extend({
399
+ candidateId: RestaurantIdSchema.optional(),
400
+ source: import_zod6.z.enum([
401
+ "search",
402
+ "fallback",
403
+ "manual"
404
+ ]).optional(),
405
+ createdAt: ISODateTimeStringSchema.optional()
406
+ });
407
+ var MealPlanDecisionStageTypeSchema = import_zod6.z.enum([
408
+ "DATE",
409
+ "TIME",
410
+ "AREA",
411
+ "MENU",
412
+ "RESTAURANT",
413
+ "FINAL_CONFIRMATION"
414
+ ]);
415
+ var MealPlanDecisionStageStatusSchema = import_zod6.z.enum([
416
+ "OPEN",
417
+ "COMPLETED",
418
+ "REOPENED"
419
+ ]);
420
+ var MealPlanRestaurantSearchStatusSchema = import_zod6.z.enum([
421
+ "IDLE",
422
+ "PENDING",
423
+ "READY",
424
+ "FAILED",
425
+ "STALE"
426
+ ]);
427
+ var MealPlanRestaurantSearchStateSchema = import_zod6.z.object({
428
+ searchKey: import_zod6.z.string().min(1).nullable(),
429
+ status: MealPlanRestaurantSearchStatusSchema,
430
+ startedAt: ISODateTimeStringSchema.nullable(),
431
+ completedAt: ISODateTimeStringSchema.nullable(),
432
+ version: import_zod6.z.number().int().min(0),
433
+ candidateCount: import_zod6.z.number().int().min(0),
434
+ errorMessage: import_zod6.z.string().nullable().default(null)
435
+ });
436
+ var MealPlanDecisionStageMetadataSchema = import_zod6.z.object({
437
+ restaurantSearch: MealPlanRestaurantSearchStateSchema.optional()
438
+ }).catchall(import_zod6.z.unknown());
439
+ var MealPlanVoteTypeSchema = import_zod6.z.enum([
440
+ "PICK",
441
+ "EXCLUDE",
442
+ "PREFER",
443
+ "READY"
444
+ ]);
445
+ var MealPlanDecisionCandidateSchema = import_zod6.z.discriminatedUnion("stageType", [
446
+ import_zod6.z.object({
447
+ stageType: import_zod6.z.literal("DATE"),
448
+ value: ISODateStringSchema
449
+ }),
450
+ import_zod6.z.object({
451
+ stageType: import_zod6.z.literal("TIME"),
452
+ value: TimeHHmmStringSchema
453
+ }),
454
+ import_zod6.z.object({
455
+ stageType: import_zod6.z.literal("AREA"),
456
+ value: MealPlanLocationCandidateSchema
457
+ }),
458
+ import_zod6.z.object({
459
+ stageType: import_zod6.z.literal("MENU"),
460
+ value: MealPlanMenuCandidateSchema
461
+ }),
462
+ import_zod6.z.object({
463
+ stageType: import_zod6.z.literal("RESTAURANT"),
464
+ value: MealPlanRestaurantCandidateSchema
465
+ }),
466
+ import_zod6.z.object({
467
+ stageType: import_zod6.z.literal("FINAL_CONFIRMATION"),
468
+ value: import_zod6.z.literal("READY")
469
+ })
470
+ ]);
471
+ var MealPlanVoteSchema = import_zod6.z.object({
472
+ voteId: MealPlanVoteIdSchema,
473
+ voterId: MemberIdSchema.nullable(),
474
+ guestId: import_zod6.z.string().min(1).nullable(),
475
+ voteType: MealPlanVoteTypeSchema,
476
+ candidate: MealPlanDecisionCandidateSchema,
477
+ createdAt: ISODateTimeStringSchema
478
+ });
479
+ var MealPlanDecisionStageResponseSchema = import_zod6.z.object({
480
+ stageId: MealPlanDecisionStageIdSchema,
481
+ stageType: MealPlanDecisionStageTypeSchema,
482
+ status: MealPlanDecisionStageStatusSchema,
483
+ candidates: import_zod6.z.array(MealPlanDecisionCandidateSchema),
484
+ votes: import_zod6.z.array(MealPlanVoteSchema),
485
+ selectedCandidate: MealPlanDecisionCandidateSchema.nullable(),
486
+ metadata: MealPlanDecisionStageMetadataSchema.nullable().default(null),
487
+ openedAt: ISODateTimeStringSchema,
488
+ completedAt: ISODateTimeStringSchema.nullable(),
489
+ reopenedAt: ISODateTimeStringSchema.nullable()
490
+ });
491
+ var CreateMealPlanVoteRequestSchema = import_zod6.z.object({
492
+ voteType: MealPlanVoteTypeSchema,
493
+ candidate: MealPlanDecisionCandidateSchema
494
+ });
495
+ var CompleteMealPlanDecisionStageRequestSchema = import_zod6.z.object({
496
+ selectedCandidate: MealPlanDecisionCandidateSchema
497
+ });
498
+ var MealPlanChangeRequestStatusSchema = import_zod6.z.enum([
499
+ "PENDING",
500
+ "ACCEPTED",
501
+ "REJECTED",
502
+ "CANCELLED"
503
+ ]);
504
+ var CreateMealPlanChangeRequestSchema = import_zod6.z.object({
505
+ stageType: MealPlanDecisionStageTypeSchema,
506
+ reason: import_zod6.z.string().min(1).max(500),
507
+ proposedCandidate: MealPlanDecisionCandidateSchema.optional()
508
+ });
509
+ var MealPlanChangeRequestSummarySchema = import_zod6.z.object({
510
+ changeRequestId: MealPlanChangeRequestIdSchema,
511
+ stageType: MealPlanDecisionStageTypeSchema,
512
+ status: MealPlanChangeRequestStatusSchema,
513
+ reason: import_zod6.z.string(),
514
+ requestedAt: ISODateTimeStringSchema
515
+ });
516
+ var MealPlanDecisionTaskKeySchema = import_zod6.z.enum([
517
+ "SCHEDULE_DATE",
518
+ "SCHEDULE_TIME",
519
+ "LOCATION_CANDIDATE",
520
+ "LOCATION_VOTE",
521
+ "EXCLUDE_MENU",
522
+ "PREFER_MENU",
523
+ "MENU_PICK",
524
+ "RESTAURANT_SEARCH",
525
+ "RESTAURANT_PICK",
526
+ "FINAL_CONFIRMATION"
527
+ ]);
528
+ var MealPlanDecisionTaskStatusSchema = import_zod6.z.enum([
529
+ "LOCKED",
530
+ "OPEN",
531
+ "READY",
532
+ "RESOLVED",
533
+ "STALE"
534
+ ]);
535
+ var MealPlanDecisionFinalFieldSchema = import_zod6.z.enum([
536
+ "date",
537
+ "time",
538
+ "meetingAt",
539
+ "area",
540
+ "menu",
541
+ "restaurant"
542
+ ]);
543
+ var MealPlanDecisionSnapshotStatusSchema = import_zod6.z.enum([
544
+ "CANDIDATE",
545
+ "PROVISIONAL",
546
+ "FINAL",
547
+ "STALE"
548
+ ]);
549
+ var MealPlanDecisionReasonSchema = import_zod6.z.enum([
550
+ "COMMON_SCHEDULE",
551
+ "TOP_VOTED_LOCATION",
552
+ "TOP_PICKED_MENU",
553
+ "TOP_PICKED_RESTAURANT",
554
+ "OWNER_CONFIRMED",
555
+ "TASK_ALL_READY",
556
+ "MANUAL_SELECTION"
557
+ ]);
558
+ var MealPlanDecisionActorTypeSchema = import_zod6.z.enum([
559
+ "MEMBER",
560
+ "GUEST",
561
+ "SYSTEM"
562
+ ]);
563
+ var MealPlanDecisionSnapshotSchema = import_zod6.z.object({
564
+ snapshotId: import_zod6.z.string().uuid(),
565
+ mealPlanId: import_zod6.z.string().uuid(),
566
+ field: MealPlanDecisionFinalFieldSchema,
567
+ value: import_zod6.z.unknown(),
568
+ status: MealPlanDecisionSnapshotStatusSchema,
569
+ reason: MealPlanDecisionReasonSchema,
570
+ score: import_zod6.z.number().nullable().default(null),
571
+ sourceEvent: import_zod6.z.string().min(1),
572
+ sourceActorType: MealPlanDecisionActorTypeSchema,
573
+ sourceMemberId: MemberIdSchema.nullable(),
574
+ sourceGuestId: import_zod6.z.string().min(1).nullable(),
575
+ sourceParticipantId: import_zod6.z.string().uuid().nullable(),
576
+ sourceVersion: import_zod6.z.number().int().min(0),
577
+ dependencyHash: import_zod6.z.string().min(1),
578
+ dependencyFields: import_zod6.z.array(MealPlanDecisionFinalFieldSchema),
579
+ createdAt: ISODateTimeStringSchema,
580
+ staleAt: ISODateTimeStringSchema.nullable()
581
+ });
582
+ var MealPlanDecisionTaskProgressSchema = import_zod6.z.object({
583
+ taskKey: MealPlanDecisionTaskKeySchema,
584
+ status: MealPlanDecisionTaskStatusSchema,
585
+ readyCount: import_zod6.z.number().int().min(0),
586
+ participantCount: import_zod6.z.number().int().min(0),
587
+ blockers: import_zod6.z.array(import_zod6.z.string()).default([]),
588
+ updatedAt: ISODateTimeStringSchema
589
+ });
590
+ var MealPlanDecisionProgressSchema = import_zod6.z.object({
591
+ mealPlanId: import_zod6.z.string().uuid(),
592
+ status: import_zod6.z.string().min(1),
593
+ tasks: import_zod6.z.array(MealPlanDecisionTaskProgressSchema),
594
+ final: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.unknown()),
595
+ provisional: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.unknown()),
596
+ snapshots: import_zod6.z.array(MealPlanDecisionSnapshotSchema),
597
+ version: import_zod6.z.number().int().min(0),
598
+ updatedAt: ISODateTimeStringSchema
599
+ });
600
+ var MealPlanDecisionTaskReadyRequestSchema = import_zod6.z.object({
601
+ isReady: import_zod6.z.boolean()
602
+ });
603
+ var ReopenMealPlanDecisionTaskRequestSchema = import_zod6.z.object({
604
+ reason: import_zod6.z.string().max(500).optional()
605
+ });
606
+ var ConfirmMealPlanDecisionSnapshotRequestSchema = import_zod6.z.object({
607
+ snapshotId: import_zod6.z.string().uuid()
608
+ });
609
+
610
+ // src/domain/meal-plan/meal-plan-participant.schema.ts
611
+ var import_zod7 = require("zod");
612
+ var MealPlanParticipantIdSchema = import_zod7.z.string().uuid().brand();
613
+ var MealPlanParticipantRoleSchema = import_zod7.z.enum([
614
+ "OWNER",
615
+ "FRIEND",
616
+ "GUEST"
617
+ ]);
618
+ var MealPlanParticipantStatusSchema = import_zod7.z.enum([
619
+ "INVITED",
620
+ "REQUESTED",
621
+ "JOINED",
622
+ "READY",
623
+ "DECLINED",
624
+ "LEFT",
625
+ "REMOVED"
626
+ ]);
627
+ var MealPlanJoinSourceSchema = import_zod7.z.enum([
628
+ "OWNER",
629
+ "FRIEND_INVITE",
630
+ "LINK_GUEST",
631
+ "NEARBY_FRIENDS"
632
+ ]);
633
+ var MealPlanGuestParticipantSchema = import_zod7.z.object({
634
+ guestId: import_zod7.z.string().min(1),
635
+ nickname: import_zod7.z.string().min(1).max(50)
636
+ });
637
+ var MealPlanParticipantResponseSchema = import_zod7.z.object({
638
+ participantId: MealPlanParticipantIdSchema,
639
+ mealPlanId: MealPlanIdSchema,
640
+ member: MemberCoreSchema.nullable(),
641
+ guest: MealPlanGuestParticipantSchema.nullable(),
642
+ role: MealPlanParticipantRoleSchema,
643
+ status: MealPlanParticipantStatusSchema,
644
+ source: MealPlanJoinSourceSchema,
645
+ joinedAt: ISODateTimeStringSchema.nullable(),
646
+ readyAt: ISODateTimeStringSchema.nullable()
647
+ });
648
+ var CreateMealPlanParticipantRequestSchema = import_zod7.z.object({
649
+ memberId: MemberIdSchema.optional(),
650
+ guestNickname: import_zod7.z.string().min(1).max(50).optional(),
651
+ source: MealPlanJoinSourceSchema
652
+ });
653
+
654
+ // src/domain/meal-plan/meal-plan-invite.schema.ts
655
+ var import_zod8 = require("zod");
656
+ var MealPlanInviteStatusSchema = import_zod8.z.enum([
657
+ "PENDING",
658
+ "ACCEPTED",
659
+ "DECLINED",
660
+ "CANCELLED",
661
+ "EXPIRED"
662
+ ]);
663
+ var CreateMealPlanInviteRequestSchema = import_zod8.z.object({
664
+ inviteeId: MemberIdSchema,
665
+ message: import_zod8.z.string().max(500).default("")
666
+ });
667
+ var MealPlanInviteSummarySchema = import_zod8.z.object({
668
+ inviteId: MealPlanInviteIdSchema,
669
+ mealPlanId: MealPlanIdSchema,
670
+ inviter: MemberCoreSchema,
671
+ invitee: MemberCoreSchema,
672
+ status: MealPlanInviteStatusSchema,
673
+ message: import_zod8.z.string().max(500),
674
+ createdAt: ISODateTimeStringSchema,
675
+ respondedAt: ISODateTimeStringSchema.nullable()
676
+ });
677
+ var MealPlanInviteListResponseSchema = import_zod8.z.array(MealPlanInviteSummarySchema);
678
+ var SendMealPlanInviteResponseSchema = import_zod8.z.object({
679
+ inviteId: MealPlanInviteIdSchema
680
+ });
681
+
682
+ // src/domain/meal-plan/meal-plan-nearby-friend.schema.ts
683
+ var import_zod9 = require("zod");
684
+ var MealPlanNearbyFriendExposureIdSchema = import_zod9.z.string().uuid().brand();
685
+ var MealPlanNearbyFriendExposureStatusSchema = import_zod9.z.enum([
686
+ "OPEN",
687
+ "CLOSED",
688
+ "EXPIRED"
689
+ ]);
690
+ var MealPlanNearbyFriendExposureNotificationStatusSchema = import_zod9.z.enum([
691
+ "PENDING",
692
+ "SENT",
693
+ "PARTIAL",
694
+ "FAILED",
695
+ "SKIPPED"
696
+ ]);
697
+ var ExposeMealPlanToNearbyFriendsRequestSchema = import_zod9.z.object({
698
+ radiusMeters: import_zod9.z.number().int().min(100).max(5e3).default(1e3),
699
+ expiresAt: ISODateTimeStringSchema.optional()
700
+ });
701
+ var NearbyFriendExposureEligibilitySchema = import_zod9.z.object({
702
+ canExpose: import_zod9.z.boolean(),
703
+ locationConsentStatus: LocationConsentStatusSchema,
704
+ nearbyMealPlanExposureAllowed: import_zod9.z.boolean(),
705
+ mealSuggestionAllowed: import_zod9.z.boolean(),
706
+ hasLastKnownLocation: import_zod9.z.boolean(),
707
+ missingRequirements: import_zod9.z.array(import_zod9.z.enum([
708
+ "LOCATION_PERMISSION",
709
+ "SERVICE_LOCATION_CONSENT",
710
+ "NEARBY_EXPOSURE_TOGGLE",
711
+ "MEAL_SUGGESTION_TOGGLE",
712
+ "LAST_KNOWN_LOCATION"
713
+ ]))
714
+ });
715
+ var MealPlanNearbyFriendRejectionReasonSchema = import_zod9.z.enum([
716
+ "NOT_FRIEND",
717
+ "BLOCKED",
718
+ "LOCATION_CONSENT_REQUIRED",
719
+ "LOCATION_UNAVAILABLE",
720
+ "OUT_OF_RADIUS",
721
+ "MEAL_SUGGESTION_DISABLED",
722
+ "NOT_HUNGRY"
723
+ ]);
724
+ var MealPlanNearbyFriendRejectionSummarySchema = import_zod9.z.object({
725
+ reason: MealPlanNearbyFriendRejectionReasonSchema,
726
+ count: import_zod9.z.number().int().min(0)
727
+ });
728
+ var ExposeMealPlanToNearbyFriendsResponseSchema = import_zod9.z.object({
729
+ mealPlanId: MealPlanIdSchema,
730
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
731
+ exposedFriendCount: import_zod9.z.number().int().min(0),
732
+ rejectedFriendCount: import_zod9.z.number().int().min(0),
733
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
734
+ rejectionSummary: import_zod9.z.array(MealPlanNearbyFriendRejectionSummarySchema)
735
+ });
736
+ var MealPlanNearbyFriendExposureSummarySchema = import_zod9.z.object({
737
+ exposureId: MealPlanNearbyFriendExposureIdSchema,
738
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema.nullable(),
739
+ mealPlanId: MealPlanIdSchema,
740
+ status: MealPlanNearbyFriendExposureStatusSchema,
741
+ radiusMeters: import_zod9.z.number().int().min(100),
742
+ exposedFriendCount: import_zod9.z.number().int().min(0),
743
+ openedAt: ISODateTimeStringSchema,
744
+ expiresAt: ISODateTimeStringSchema.nullable(),
745
+ closedAt: ISODateTimeStringSchema.nullable()
746
+ });
747
+ var MealPlanNearbyFriendExposureBatchSummarySchema = import_zod9.z.object({
748
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
749
+ mealPlanId: MealPlanIdSchema,
750
+ status: MealPlanNearbyFriendExposureStatusSchema,
751
+ radiusMeters: import_zod9.z.number().int().min(100),
752
+ exposedFriendCount: import_zod9.z.number().int().min(0),
753
+ rejectedFriendCount: import_zod9.z.number().int().min(0),
754
+ rejectionSummary: import_zod9.z.array(MealPlanNearbyFriendRejectionSummarySchema),
755
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
756
+ notificationSentAt: ISODateTimeStringSchema.nullable(),
757
+ openedAt: ISODateTimeStringSchema,
758
+ expiresAt: ISODateTimeStringSchema.nullable(),
759
+ closedAt: ISODateTimeStringSchema.nullable()
760
+ });
761
+ var MealPlanJoinRequestStatusSchema = import_zod9.z.enum([
762
+ "PENDING",
763
+ "ACCEPTED",
764
+ "REJECTED",
765
+ "CANCELLED"
766
+ ]);
767
+ var CreateMealPlanJoinRequestSchema = import_zod9.z.object({
768
+ message: import_zod9.z.string().max(500).default("")
769
+ });
770
+ var MealPlanJoinRequestSummarySchema = import_zod9.z.object({
771
+ joinRequestId: MealPlanJoinRequestIdSchema,
772
+ mealPlanId: MealPlanIdSchema,
773
+ requester: MemberCoreSchema,
774
+ status: MealPlanJoinRequestStatusSchema,
775
+ message: import_zod9.z.string().max(500),
776
+ requestedAt: ISODateTimeStringSchema,
777
+ respondedAt: ISODateTimeStringSchema.nullable()
778
+ });
779
+ var NearbyFriendMealPlanSummarySchema = import_zod9.z.object({
780
+ mealPlanId: MealPlanIdSchema,
781
+ owner: MemberCoreSchema,
782
+ title: import_zod9.z.string(),
783
+ participantCount: import_zod9.z.number().int().min(1),
784
+ distanceMeters: import_zod9.z.number().int().min(0),
785
+ exposedAt: ISODateTimeStringSchema,
786
+ expiresAt: ISODateTimeStringSchema.nullable(),
787
+ joinRequestStatus: MealPlanJoinRequestStatusSchema.nullable().default(null)
788
+ });
789
+
790
+ // src/domain/meal-plan/meal-plan-chat.schema.ts
791
+ var import_zod10 = require("zod");
792
+ var MealPlanChatMessageKindSchema = import_zod10.z.enum([
793
+ "USER",
794
+ "SYSTEM"
795
+ ]);
796
+ var MealPlanSystemMessageKindSchema = import_zod10.z.enum([
797
+ "PARTICIPANT_JOINED",
798
+ "PARTICIPANT_READY",
799
+ "PARTICIPANT_REMOVED",
800
+ "STATUS_CHANGED",
801
+ "DECISION_UPDATED",
802
+ "CONFIRMED",
803
+ "RECORD_NEEDED"
804
+ ]);
805
+ var MealPlanChatSystemPayloadSchema = import_zod10.z.object({
806
+ kind: MealPlanSystemMessageKindSchema
807
+ }).catchall(import_zod10.z.unknown());
808
+ var MealPlanChatMessageListResponseSchema = import_zod10.z.array(import_zod10.z.lazy(() => MealPlanChatMessageResponseSchema));
809
+ var MealPlanChatRoomSummarySchema = import_zod10.z.object({
810
+ chatRoomId: MealPlanChatRoomIdSchema,
811
+ mealPlanId: MealPlanIdSchema,
812
+ messageCount: import_zod10.z.number().int().min(0),
813
+ lastMessageAt: ISODateTimeStringSchema.nullable(),
814
+ createdAt: ISODateTimeStringSchema
815
+ });
816
+ var SendMealPlanChatMessageRequestSchema = import_zod10.z.object({
817
+ message: import_zod10.z.string().min(1).max(500)
818
+ });
819
+ var MealPlanChatMessageResponseSchema = import_zod10.z.object({
820
+ messageId: MealPlanChatMessageIdSchema,
821
+ chatRoomId: MealPlanChatRoomIdSchema,
822
+ sender: MemberCoreSchema.nullable(),
823
+ guestId: import_zod10.z.string().min(1).nullable(),
824
+ guestNickname: import_zod10.z.string().min(1).nullable(),
825
+ kind: MealPlanChatMessageKindSchema,
826
+ message: import_zod10.z.string().min(1).max(1e3),
827
+ systemPayload: MealPlanChatSystemPayloadSchema.nullable(),
828
+ createdAt: ISODateTimeStringSchema
829
+ });
830
+ var MealPlanSystemMessageSchema = import_zod10.z.object({
831
+ kind: MealPlanSystemMessageKindSchema,
832
+ message: import_zod10.z.string().min(1),
833
+ createdAt: ISODateTimeStringSchema
834
+ });
835
+
836
+ // src/domain/meal-plan/meal-plan.schema.ts
837
+ var MealPlanStatusSchema = import_zod11.z.enum([
838
+ "DRAFT",
839
+ "RECOMMENDING",
840
+ "GATHERING",
841
+ "DECIDING",
842
+ "READY",
843
+ "CONFIRMED",
844
+ "LOCKED",
845
+ "COMPLETED",
846
+ "RECORDED",
847
+ "CANCELLED"
848
+ ]);
849
+ var MealPlanChannelSchema = import_zod11.z.enum([
850
+ "OWNER_ONLY",
851
+ "FRIEND_INVITE",
852
+ "LINK_GUEST",
853
+ "NEARBY_FRIENDS"
854
+ ]);
855
+ var MealPlanRecommendationContextSchema = import_zod11.z.object({
856
+ mealDate: ISODateStringSchema.optional(),
857
+ mealTime: TimeHHmmStringSchema.optional(),
858
+ area: MealPlanLocationCandidateSchema.optional(),
859
+ preferredMenuCategories: import_zod11.z.array(import_zod11.z.string().min(1)).default([]),
860
+ excludedMenuCategories: import_zod11.z.array(import_zod11.z.string().min(1)).default([]),
861
+ candidateMenuCategories: import_zod11.z.array(import_zod11.z.string().min(1)).default([]),
862
+ budgetMin: import_zod11.z.number().int().min(0).optional(),
863
+ budgetMax: import_zod11.z.number().int().min(0).optional(),
864
+ memo: import_zod11.z.string().max(500).optional()
865
+ });
866
+ var CreateMealPlanRequestSchema = import_zod11.z.object({
867
+ title: import_zod11.z.string().min(1).max(100).optional(),
868
+ channels: import_zod11.z.array(MealPlanChannelSchema).default([
869
+ "OWNER_ONLY"
870
+ ]),
871
+ recommendationContext: MealPlanRecommendationContextSchema.optional()
872
+ });
873
+ var CreateMealPlanResponseSchema = import_zod11.z.object({
874
+ mealPlanId: MealPlanIdSchema
875
+ });
876
+ var UpdateMealPlanContextRequestSchema = MealPlanRecommendationContextSchema.partial();
877
+ var MealPlanViewerRoleSchema = import_zod11.z.enum([
878
+ "OWNER",
879
+ "FRIEND",
880
+ "GUEST",
881
+ "NONE"
882
+ ]);
883
+ var MealPlanViewerPermissionsSchema = import_zod11.z.object({
884
+ canView: import_zod11.z.boolean(),
885
+ canInviteFriends: import_zod11.z.boolean(),
886
+ canManageParticipants: import_zod11.z.boolean(),
887
+ canCreateShareLink: import_zod11.z.boolean(),
888
+ canExposeNearbyFriends: import_zod11.z.boolean(),
889
+ canVote: import_zod11.z.boolean(),
890
+ canChat: import_zod11.z.boolean(),
891
+ canReadyMealPlan: import_zod11.z.boolean(),
892
+ canReadyDecisionTask: import_zod11.z.boolean(),
893
+ canRequestChange: import_zod11.z.boolean(),
894
+ canReopenDecisionTask: import_zod11.z.boolean(),
895
+ canConfirmDecisionSnapshot: import_zod11.z.boolean(),
896
+ canConfirmMealPlan: import_zod11.z.boolean(),
897
+ canCompleteMealPlan: import_zod11.z.boolean(),
898
+ canRecordMealPlan: import_zod11.z.boolean(),
899
+ canCancelMealPlan: import_zod11.z.boolean()
900
+ });
901
+ var MealPlanResponseSchema = import_zod11.z.object({
902
+ mealPlanId: MealPlanIdSchema,
903
+ owner: MemberCoreSchema,
904
+ title: import_zod11.z.string().nullable(),
905
+ status: MealPlanStatusSchema,
906
+ channels: import_zod11.z.array(MealPlanChannelSchema),
907
+ participants: import_zod11.z.array(MealPlanParticipantResponseSchema),
908
+ pendingInvites: import_zod11.z.array(MealPlanInviteSummarySchema),
909
+ pendingJoinRequests: import_zod11.z.array(MealPlanJoinRequestSummarySchema),
910
+ decisionStages: import_zod11.z.array(MealPlanDecisionStageResponseSchema),
911
+ decisionProgress: MealPlanDecisionProgressSchema.nullable(),
912
+ viewerRole: MealPlanViewerRoleSchema,
913
+ viewerParticipantStatus: MealPlanParticipantStatusSchema.nullable(),
914
+ viewerPermissions: MealPlanViewerPermissionsSchema,
915
+ viewerTaskReadyMap: import_zod11.z.record(MealPlanDecisionTaskKeySchema, import_zod11.z.boolean()),
916
+ selectedDate: ISODateStringSchema.nullable(),
917
+ selectedTime: TimeHHmmStringSchema.nullable(),
918
+ selectedArea: MealPlanLocationCandidateSchema.nullable(),
919
+ selectedRestaurant: RestaurantSchema.nullable(),
920
+ selectedMenuCategory: import_zod11.z.string().nullable(),
921
+ chatRoom: MealPlanChatRoomSummarySchema.nullable(),
922
+ confirmedAt: ISODateTimeStringSchema.nullable(),
923
+ lockedAt: ISODateTimeStringSchema.nullable(),
924
+ completedAt: ISODateTimeStringSchema.nullable(),
925
+ recordedAt: ISODateTimeStringSchema.nullable(),
926
+ createdAt: ISODateTimeStringSchema,
927
+ updatedAt: ISODateTimeStringSchema
928
+ });
929
+ var MyMealPlanGroupSchema = import_zod11.z.enum([
930
+ "DECIDING",
931
+ "UPCOMING",
932
+ "RECORD_NEEDED",
933
+ "PAST"
934
+ ]);
935
+ var MyMealPlanListItemSchema = import_zod11.z.object({
936
+ mealPlanId: MealPlanIdSchema,
937
+ group: MyMealPlanGroupSchema,
938
+ title: import_zod11.z.string(),
939
+ status: MealPlanStatusSchema,
940
+ channels: import_zod11.z.array(MealPlanChannelSchema),
941
+ participantCount: import_zod11.z.number().int().min(1),
942
+ selectedDate: ISODateStringSchema.nullable(),
943
+ selectedTime: TimeHHmmStringSchema.nullable(),
944
+ selectedAreaName: import_zod11.z.string().nullable(),
945
+ selectedRestaurantName: import_zod11.z.string().nullable(),
946
+ primaryAction: import_zod11.z.object({
947
+ label: import_zod11.z.string(),
948
+ href: import_zod11.z.string()
949
+ }),
950
+ updatedAt: ISODateTimeStringSchema
951
+ });
952
+ var MyMealPlanListResponseSchema = import_zod11.z.object({
953
+ deciding: import_zod11.z.array(MyMealPlanListItemSchema),
954
+ upcoming: import_zod11.z.array(MyMealPlanListItemSchema),
955
+ recordNeeded: import_zod11.z.array(MyMealPlanListItemSchema),
956
+ past: import_zod11.z.array(MyMealPlanListItemSchema)
957
+ });
958
+ var MealPlanNotificationKindSchema = import_zod11.z.enum([
959
+ "MEAL_PLAN_INVITE_RECEIVED",
960
+ "MEAL_PLAN_INVITE_ACCEPTED",
961
+ "MEAL_PLAN_JOIN_REQUESTED",
962
+ "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
963
+ "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
964
+ "MEAL_PLAN_PARTICIPANT_JOINED",
965
+ "MEAL_PLAN_READY_COMPLETED",
966
+ "MEAL_PLAN_CONFIRMED",
967
+ "MEAL_PLAN_LOCKED",
968
+ "MEAL_PLAN_RECORD_NEEDED"
969
+ ]);
970
+ var MealPlanNotificationPriorityChannelSchema = import_zod11.z.enum([
971
+ "HOME",
972
+ "NOTIFICATION_INBOX",
973
+ "FCM_PUSH",
974
+ "LIVE_ACTIVITY"
975
+ ]);
976
+ var MealPlanLiveActivityBehaviorSchema = import_zod11.z.enum([
977
+ "NONE",
978
+ "START_OR_UPDATE",
979
+ "UPDATE",
980
+ "END"
981
+ ]);
982
+ var MealPlanNotificationPriorityPolicyItemSchema = import_zod11.z.object({
983
+ kind: MealPlanNotificationKindSchema,
984
+ priority: import_zod11.z.number().int().min(0),
985
+ homePriority: import_zod11.z.number().int().min(0),
986
+ inboxPriority: import_zod11.z.number().int().min(0),
987
+ fcmPriority: import_zod11.z.number().int().min(0),
988
+ liveActivityPriority: import_zod11.z.number().int().min(0),
989
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema,
990
+ foregroundToast: import_zod11.z.boolean()
991
+ });
992
+ var MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES = {
993
+ MEAL_PLAN_JOIN_REQUESTED: {
994
+ kind: "MEAL_PLAN_JOIN_REQUESTED",
995
+ priority: 5,
996
+ homePriority: 5,
997
+ inboxPriority: 5,
998
+ fcmPriority: 10,
999
+ liveActivityPriority: 80,
1000
+ liveActivityBehavior: "NONE",
1001
+ foregroundToast: true
1002
+ },
1003
+ MEAL_PLAN_INVITE_RECEIVED: {
1004
+ kind: "MEAL_PLAN_INVITE_RECEIVED",
1005
+ priority: 12,
1006
+ homePriority: 12,
1007
+ inboxPriority: 12,
1008
+ fcmPriority: 15,
1009
+ liveActivityPriority: 80,
1010
+ liveActivityBehavior: "NONE",
1011
+ foregroundToast: true
1012
+ },
1013
+ MEAL_PLAN_RECORD_NEEDED: {
1014
+ kind: "MEAL_PLAN_RECORD_NEEDED",
1015
+ priority: 18,
1016
+ homePriority: 18,
1017
+ inboxPriority: 18,
1018
+ fcmPriority: 20,
1019
+ liveActivityPriority: 60,
1020
+ liveActivityBehavior: "END",
1021
+ foregroundToast: true
1022
+ },
1023
+ MEAL_PLAN_LOCKED: {
1024
+ kind: "MEAL_PLAN_LOCKED",
1025
+ priority: 22,
1026
+ homePriority: 22,
1027
+ inboxPriority: 22,
1028
+ fcmPriority: 8,
1029
+ liveActivityPriority: 5,
1030
+ liveActivityBehavior: "START_OR_UPDATE",
1031
+ foregroundToast: true
1032
+ },
1033
+ MEAL_PLAN_CONFIRMED: {
1034
+ kind: "MEAL_PLAN_CONFIRMED",
1035
+ priority: 24,
1036
+ homePriority: 24,
1037
+ inboxPriority: 24,
1038
+ fcmPriority: 12,
1039
+ liveActivityPriority: 12,
1040
+ liveActivityBehavior: "START_OR_UPDATE",
1041
+ foregroundToast: true
1042
+ },
1043
+ MEAL_PLAN_NEARBY_FRIEND_EXPOSED: {
1044
+ kind: "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
1045
+ priority: 28,
1046
+ homePriority: 28,
1047
+ inboxPriority: 28,
1048
+ fcmPriority: 24,
1049
+ liveActivityPriority: 80,
1050
+ liveActivityBehavior: "NONE",
1051
+ foregroundToast: false
1052
+ },
1053
+ MEAL_PLAN_READY_COMPLETED: {
1054
+ kind: "MEAL_PLAN_READY_COMPLETED",
1055
+ priority: 32,
1056
+ homePriority: 32,
1057
+ inboxPriority: 32,
1058
+ fcmPriority: 28,
1059
+ liveActivityPriority: 20,
1060
+ liveActivityBehavior: "UPDATE",
1061
+ foregroundToast: false
1062
+ },
1063
+ MEAL_PLAN_JOIN_REQUEST_ACCEPTED: {
1064
+ kind: "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
1065
+ priority: 36,
1066
+ homePriority: 36,
1067
+ inboxPriority: 36,
1068
+ fcmPriority: 30,
1069
+ liveActivityPriority: 80,
1070
+ liveActivityBehavior: "NONE",
1071
+ foregroundToast: true
1072
+ },
1073
+ MEAL_PLAN_INVITE_ACCEPTED: {
1074
+ kind: "MEAL_PLAN_INVITE_ACCEPTED",
1075
+ priority: 40,
1076
+ homePriority: 40,
1077
+ inboxPriority: 40,
1078
+ fcmPriority: 34,
1079
+ liveActivityPriority: 80,
1080
+ liveActivityBehavior: "NONE",
1081
+ foregroundToast: true
1082
+ },
1083
+ MEAL_PLAN_PARTICIPANT_JOINED: {
1084
+ kind: "MEAL_PLAN_PARTICIPANT_JOINED",
1085
+ priority: 44,
1086
+ homePriority: 44,
1087
+ inboxPriority: 44,
1088
+ fcmPriority: 38,
1089
+ liveActivityPriority: 32,
1090
+ liveActivityBehavior: "UPDATE",
1091
+ foregroundToast: false
1092
+ }
1093
+ };
1094
+ var MealPlanNotificationSchema = import_zod11.z.object({
1095
+ notificationId: import_zod11.z.string().min(1),
1096
+ kind: MealPlanNotificationKindSchema,
1097
+ mealPlanId: MealPlanIdSchema,
1098
+ deepLink: import_zod11.z.string().min(1),
1099
+ title: import_zod11.z.string().min(1),
1100
+ message: import_zod11.z.string().min(1),
1101
+ createdAt: ISODateTimeStringSchema,
1102
+ readAt: ISODateTimeStringSchema.nullable()
1103
+ });
1104
+
1105
+ // src/domain/meal-plan/meal-plan-share-link.schema.ts
1106
+ var import_zod12 = require("zod");
1107
+ var CreateMealPlanShareLinkRequestSchema = import_zod12.z.object({
1108
+ expiresAt: ISODateTimeStringSchema.optional(),
1109
+ guestJoinEnabled: import_zod12.z.boolean().default(true)
1110
+ });
1111
+ var MealPlanShareLinkSummarySchema = import_zod12.z.object({
1112
+ shareLinkId: MealPlanShareLinkIdSchema,
1113
+ mealPlanId: MealPlanIdSchema,
1114
+ token: MealPlanShareLinkTokenSchema,
1115
+ url: import_zod12.z.string().url(),
1116
+ expiresAt: ISODateTimeStringSchema,
1117
+ guestJoinEnabled: import_zod12.z.boolean(),
1118
+ createdAt: ISODateTimeStringSchema
1119
+ });
1120
+ var MealPlanSharePreviewResponseSchema = import_zod12.z.object({
1121
+ mealPlanId: MealPlanIdSchema,
1122
+ token: MealPlanShareLinkTokenSchema,
1123
+ title: import_zod12.z.string(),
1124
+ ownerName: import_zod12.z.string(),
1125
+ participantCount: import_zod12.z.number().int().min(1),
1126
+ expiresAt: ISODateTimeStringSchema,
1127
+ guestJoinEnabled: import_zod12.z.boolean()
1128
+ });
1129
+ var JoinMealPlanGuestRequestSchema = import_zod12.z.object({
1130
+ nickname: import_zod12.z.string().min(1).max(50),
1131
+ password: import_zod12.z.string().min(1).max(100).optional()
1132
+ });
1133
+ var JoinMealPlanGuestResponseSchema = import_zod12.z.object({
1134
+ mealPlanId: MealPlanIdSchema,
1135
+ guestId: import_zod12.z.string().min(1),
1136
+ sessionToken: import_zod12.z.string().min(1)
1137
+ });
1138
+ var MealPlanGuestSessionQuerySchema = import_zod12.z.object({
1139
+ sessionToken: import_zod12.z.string().min(1)
1140
+ });
1141
+ var MealPlanGuestSessionResponseSchema = import_zod12.z.object({
1142
+ mealPlan: MealPlanResponseSchema,
1143
+ token: MealPlanShareLinkTokenSchema,
1144
+ guestId: import_zod12.z.string().min(1),
1145
+ nickname: import_zod12.z.string().min(1).max(50),
1146
+ sessionToken: import_zod12.z.string().min(1)
1147
+ });
1148
+
1149
+ // src/domain/meal-plan/meal-group.schema.ts
1150
+ var import_zod13 = require("zod");
1151
+ var MealGroupMemberRoleSchema = import_zod13.z.enum([
1152
+ "OWNER",
1153
+ "MEMBER"
1154
+ ]);
1155
+ var MealGroupMemberSchema = import_zod13.z.object({
1156
+ member: MemberCoreSchema,
1157
+ role: MealGroupMemberRoleSchema,
1158
+ joinedAt: ISODateTimeStringSchema
1159
+ });
1160
+ var MealGroupResponseSchema = import_zod13.z.object({
1161
+ mealGroupId: MealGroupIdSchema,
1162
+ name: import_zod13.z.string().min(1).max(50),
1163
+ owner: MemberCoreSchema,
1164
+ profileImageUrl: import_zod13.z.string().url().nullable(),
1165
+ members: import_zod13.z.array(MealGroupMemberSchema),
1166
+ recentMealPlanIds: import_zod13.z.array(MealPlanIdSchema),
1167
+ createdAt: ISODateTimeStringSchema,
1168
+ updatedAt: ISODateTimeStringSchema
1169
+ });
1170
+ var CreateMealGroupRequestSchema = import_zod13.z.object({
1171
+ name: import_zod13.z.string().min(1).max(50),
1172
+ memberIds: import_zod13.z.array(import_zod13.z.number().int().positive()).min(1),
1173
+ profileImageUrl: import_zod13.z.string().url().nullable().optional(),
1174
+ sourceMealPlanId: MealPlanIdSchema.optional()
1175
+ });
1176
+ var StartMealPlanFromGroupRequestSchema = import_zod13.z.object({
1177
+ title: import_zod13.z.string().min(1).max(100).optional()
1178
+ });
1179
+ var AddMealGroupMemberRequestSchema = import_zod13.z.object({
1180
+ memberId: import_zod13.z.number().int().positive(),
1181
+ role: MealGroupMemberRoleSchema.default("MEMBER")
1182
+ });
1183
+ var UpdateMealGroupMemberRoleRequestSchema = import_zod13.z.object({
1184
+ role: MealGroupMemberRoleSchema
1185
+ });
1186
+ var MealGroupHistoryItemSchema = MyMealPlanListItemSchema.extend({});
1187
+ var MealGroupPreferenceSummarySchema = import_zod13.z.object({
1188
+ mealGroupId: MealGroupIdSchema,
1189
+ frequentMenuCategories: import_zod13.z.array(import_zod13.z.object({
1190
+ label: import_zod13.z.string(),
1191
+ count: import_zod13.z.number().int().min(0)
1192
+ })),
1193
+ frequentRestaurants: import_zod13.z.array(import_zod13.z.object({
1194
+ restaurantName: import_zod13.z.string(),
1195
+ count: import_zod13.z.number().int().min(0)
1196
+ })),
1197
+ recentMenuCategories: import_zod13.z.array(import_zod13.z.string()),
1198
+ recommendationContext: import_zod13.z.object({
1199
+ preferredMenuCategories: import_zod13.z.array(import_zod13.z.string()),
1200
+ excludedMenuCategories: import_zod13.z.array(import_zod13.z.string()),
1201
+ candidateMenuCategories: import_zod13.z.array(import_zod13.z.string())
1202
+ })
1203
+ });
1204
+ var MealGroupHistoryResponseSchema = import_zod13.z.array(MealGroupHistoryItemSchema);
1205
+
1206
+ // src/domain/meal-plan/meal-plan-home-map.schema.ts
1207
+ var import_zod14 = require("zod");
1208
+ var HomeMealPlanActionKindSchema = import_zod14.z.enum([
1209
+ "CONTINUE_DECISION",
1210
+ "TODAY_UPCOMING",
1211
+ "RECORD_NEEDED",
1212
+ "RESPOND_JOIN_REQUEST",
1213
+ "NOTIFICATION_FOLLOW_UP"
1214
+ ]);
1215
+ var HomeMealPlanActionCardSchema = import_zod14.z.object({
1216
+ actionId: import_zod14.z.string().min(1),
1217
+ kind: HomeMealPlanActionKindSchema,
1218
+ priority: import_zod14.z.number().int().min(0),
1219
+ title: import_zod14.z.string().min(1),
1220
+ description: import_zod14.z.string().min(1),
1221
+ primaryAction: import_zod14.z.object({
1222
+ label: import_zod14.z.string().min(1),
1223
+ href: import_zod14.z.string().min(1)
1224
+ }),
1225
+ mealPlan: MyMealPlanListItemSchema.nullable(),
1226
+ joinRequest: MealPlanJoinRequestSummarySchema.nullable(),
1227
+ notification: MealPlanNotificationSchema.nullable().default(null)
1228
+ });
1229
+ var HomeMealPlanDashboardResponseSchema = import_zod14.z.object({
1230
+ generatedAt: ISODateTimeStringSchema,
1231
+ inProgress: import_zod14.z.array(MyMealPlanListItemSchema),
1232
+ today: import_zod14.z.array(MyMealPlanListItemSchema),
1233
+ recordNeeded: import_zod14.z.array(MyMealPlanListItemSchema),
1234
+ pendingJoinRequests: import_zod14.z.array(MealPlanJoinRequestSummarySchema),
1235
+ unreadNotifications: import_zod14.z.array(MealPlanNotificationSchema).default([]),
1236
+ nextActions: import_zod14.z.array(HomeMealPlanActionCardSchema)
1237
+ });
1238
+ var MealMapLayerSchema = import_zod14.z.enum([
1239
+ "MY_MEAL_PLAN_PLACE",
1240
+ "NEARBY_FRIEND_MEAL_PLAN",
1241
+ "FRIEND_RECORD_LOCATION",
1242
+ "RESTAURANT_CANDIDATE"
1243
+ ]);
1244
+ var MealMapMarkerBaseSchema = import_zod14.z.object({
1245
+ markerId: import_zod14.z.string().min(1),
1246
+ lat: import_zod14.z.number().min(-90).max(90),
1247
+ lng: import_zod14.z.number().min(-180).max(180),
1248
+ title: import_zod14.z.string().min(1),
1249
+ subtitle: import_zod14.z.string().nullable(),
1250
+ href: import_zod14.z.string().min(1).nullable(),
1251
+ mealPlanId: MealPlanIdSchema.nullable(),
1252
+ articleId: ArticleIdSchema.nullable(),
1253
+ restaurant: RestaurantSchema.nullable(),
1254
+ distanceMeters: import_zod14.z.number().int().min(0).nullable(),
1255
+ updatedAt: ISODateTimeStringSchema
1256
+ });
1257
+ var MealMapMyMealPlanPlaceMetadataSchema = import_zod14.z.object({
1258
+ ownerId: MemberIdSchema.nullable().default(null),
1259
+ status: import_zod14.z.string().min(1),
1260
+ participantCount: import_zod14.z.number().int().min(1),
1261
+ source: import_zod14.z.string().min(1)
1262
+ });
1263
+ var MealMapNearbyFriendMealPlanMetadataSchema = import_zod14.z.object({
1264
+ ownerId: MemberIdSchema.nullable().default(null),
1265
+ ownerName: import_zod14.z.string().min(1),
1266
+ participantCount: import_zod14.z.number().int().min(1),
1267
+ expiresAt: ISODateTimeStringSchema.nullable(),
1268
+ source: import_zod14.z.string().min(1)
1269
+ });
1270
+ var MealMapFriendRecordLocationMetadataSchema = import_zod14.z.object({
1271
+ authorId: MemberIdSchema.nullable().default(null),
1272
+ authorName: import_zod14.z.string().min(1),
1273
+ imageUrl: import_zod14.z.string().nullable().default(null),
1274
+ mealDate: import_zod14.z.string().min(1)
1275
+ });
1276
+ var MealMapRestaurantCandidateCompletionBlockedReasonSchema = import_zod14.z.enum([
1277
+ "OWNER_ONLY",
1278
+ "STAGE_ALREADY_COMPLETED",
1279
+ "MEAL_PLAN_NOT_MUTABLE"
1280
+ ]);
1281
+ var MealMapRestaurantCandidateMetadataSchema = import_zod14.z.object({
1282
+ stageId: MealPlanDecisionStageIdSchema,
1283
+ ownerId: MemberIdSchema.nullable().default(null),
1284
+ status: import_zod14.z.string().min(1),
1285
+ source: import_zod14.z.enum([
1286
+ "search",
1287
+ "fallback",
1288
+ "manual"
1289
+ ]).default("search"),
1290
+ stageStatus: import_zod14.z.enum([
1291
+ "OPEN",
1292
+ "COMPLETED",
1293
+ "REOPENED"
1294
+ ]).default("OPEN"),
1295
+ canVote: import_zod14.z.boolean().default(false),
1296
+ canCompleteStage: import_zod14.z.boolean().default(false),
1297
+ completionBlockedReason: MealMapRestaurantCandidateCompletionBlockedReasonSchema.nullable().default(null)
1298
+ });
1299
+ var MealMapMarkerSchema = import_zod14.z.discriminatedUnion("layer", [
1300
+ MealMapMarkerBaseSchema.extend({
1301
+ layer: import_zod14.z.literal("MY_MEAL_PLAN_PLACE"),
1302
+ metadata: MealMapMyMealPlanPlaceMetadataSchema
1303
+ }),
1304
+ MealMapMarkerBaseSchema.extend({
1305
+ layer: import_zod14.z.literal("NEARBY_FRIEND_MEAL_PLAN"),
1306
+ metadata: MealMapNearbyFriendMealPlanMetadataSchema
1307
+ }),
1308
+ MealMapMarkerBaseSchema.extend({
1309
+ layer: import_zod14.z.literal("FRIEND_RECORD_LOCATION"),
1310
+ metadata: MealMapFriendRecordLocationMetadataSchema
1311
+ }),
1312
+ MealMapMarkerBaseSchema.extend({
1313
+ layer: import_zod14.z.literal("RESTAURANT_CANDIDATE"),
1314
+ metadata: MealMapRestaurantCandidateMetadataSchema
1315
+ })
1316
+ ]);
1317
+ var MealMapQuerySchema = import_zod14.z.object({
1318
+ friendRecordDays: import_zod14.z.coerce.number().int().min(1).max(90).optional().default(7)
1319
+ });
1320
+ var MealMapResponseSchema = import_zod14.z.object({
1321
+ generatedAt: ISODateTimeStringSchema,
1322
+ center: import_zod14.z.object({
1323
+ lat: import_zod14.z.number().min(-90).max(90),
1324
+ lng: import_zod14.z.number().min(-180).max(180),
1325
+ source: import_zod14.z.enum([
1326
+ "LAST_KNOWN_LOCATION",
1327
+ "MY_MEAL_PLAN",
1328
+ "DEFAULT"
1329
+ ])
1330
+ }),
1331
+ layers: import_zod14.z.object({
1332
+ myMealPlanPlaces: import_zod14.z.array(MealMapMarkerSchema),
1333
+ nearbyFriendMealPlans: import_zod14.z.array(MealMapMarkerSchema),
1334
+ friendRecordLocations: import_zod14.z.array(MealMapMarkerSchema),
1335
+ restaurantCandidates: import_zod14.z.array(MealMapMarkerSchema)
1336
+ })
1337
+ });
1338
+
1339
+ // src/domain/meal-plan/meal-plan-notification-priority.ts
1340
+ var DEFAULT_POLICY = MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES.MEAL_PLAN_PARTICIPANT_JOINED;
1341
+ function getMealPlanNotificationPriorityPolicy(kind) {
1342
+ return MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES[kind] ?? DEFAULT_POLICY;
1343
+ }
1344
+ __name(getMealPlanNotificationPriorityPolicy, "getMealPlanNotificationPriorityPolicy");
1345
+ function getMealPlanNotificationPriority(kind, channel = "HOME") {
1346
+ const policy = getMealPlanNotificationPriorityPolicy(kind);
1347
+ switch (channel) {
1348
+ case "HOME":
1349
+ return policy.homePriority;
1350
+ case "NOTIFICATION_INBOX":
1351
+ return policy.inboxPriority;
1352
+ case "FCM_PUSH":
1353
+ return policy.fcmPriority;
1354
+ case "LIVE_ACTIVITY":
1355
+ return policy.liveActivityPriority;
1356
+ default:
1357
+ return policy.priority;
1358
+ }
1359
+ }
1360
+ __name(getMealPlanNotificationPriority, "getMealPlanNotificationPriority");
1361
+ function getMealPlanLiveActivityBehavior(kind) {
1362
+ return getMealPlanNotificationPriorityPolicy(kind).liveActivityBehavior;
1363
+ }
1364
+ __name(getMealPlanLiveActivityBehavior, "getMealPlanLiveActivityBehavior");
1365
+ function shouldShowForegroundToast(kind) {
1366
+ return getMealPlanNotificationPriorityPolicy(kind).foregroundToast;
1367
+ }
1368
+ __name(shouldShowForegroundToast, "shouldShowForegroundToast");
1369
+ function compareMealPlanNotificationsByPriority(channel) {
1370
+ return (a, b) => {
1371
+ const unreadDelta = Number(Boolean(a.readAt)) - Number(Boolean(b.readAt));
1372
+ if (unreadDelta !== 0) return unreadDelta;
1373
+ const priorityDelta = getMealPlanNotificationPriority(a.kind, channel) - getMealPlanNotificationPriority(b.kind, channel);
1374
+ if (priorityDelta !== 0) return priorityDelta;
1375
+ return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
1376
+ };
1377
+ }
1378
+ __name(compareMealPlanNotificationsByPriority, "compareMealPlanNotificationsByPriority");
1379
+ // Annotate the CommonJS export names for ESM import in node:
1380
+ 0 && (module.exports = {
1381
+ AddMealGroupMemberRequestSchema,
1382
+ CompleteMealPlanDecisionStageRequestSchema,
1383
+ ConfirmMealPlanDecisionSnapshotRequestSchema,
1384
+ CreateMealGroupRequestSchema,
1385
+ CreateMealPlanChangeRequestSchema,
1386
+ CreateMealPlanInviteRequestSchema,
1387
+ CreateMealPlanJoinRequestSchema,
1388
+ CreateMealPlanParticipantRequestSchema,
1389
+ CreateMealPlanRequestSchema,
1390
+ CreateMealPlanResponseSchema,
1391
+ CreateMealPlanShareLinkRequestSchema,
1392
+ CreateMealPlanVoteRequestSchema,
1393
+ ExposeMealPlanToNearbyFriendsRequestSchema,
1394
+ ExposeMealPlanToNearbyFriendsResponseSchema,
1395
+ HomeMealPlanActionCardSchema,
1396
+ HomeMealPlanActionKindSchema,
1397
+ HomeMealPlanDashboardResponseSchema,
1398
+ JoinMealPlanGuestRequestSchema,
1399
+ JoinMealPlanGuestResponseSchema,
1400
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
1401
+ MealGroupHistoryItemSchema,
1402
+ MealGroupHistoryResponseSchema,
1403
+ MealGroupMemberRoleSchema,
1404
+ MealGroupMemberSchema,
1405
+ MealGroupPreferenceSummarySchema,
1406
+ MealGroupResponseSchema,
1407
+ MealMapFriendRecordLocationMetadataSchema,
1408
+ MealMapLayerSchema,
1409
+ MealMapMarkerSchema,
1410
+ MealMapMyMealPlanPlaceMetadataSchema,
1411
+ MealMapNearbyFriendMealPlanMetadataSchema,
1412
+ MealMapQuerySchema,
1413
+ MealMapResponseSchema,
1414
+ MealMapRestaurantCandidateCompletionBlockedReasonSchema,
1415
+ MealMapRestaurantCandidateMetadataSchema,
1416
+ MealPlanChangeRequestStatusSchema,
1417
+ MealPlanChangeRequestSummarySchema,
1418
+ MealPlanChannelSchema,
1419
+ MealPlanChatMessageKindSchema,
1420
+ MealPlanChatMessageListResponseSchema,
1421
+ MealPlanChatMessageResponseSchema,
1422
+ MealPlanChatRoomSummarySchema,
1423
+ MealPlanChatSystemPayloadSchema,
1424
+ MealPlanDecisionActorTypeSchema,
1425
+ MealPlanDecisionCandidateSchema,
1426
+ MealPlanDecisionFinalFieldSchema,
1427
+ MealPlanDecisionProgressSchema,
1428
+ MealPlanDecisionReasonSchema,
1429
+ MealPlanDecisionSnapshotSchema,
1430
+ MealPlanDecisionSnapshotStatusSchema,
1431
+ MealPlanDecisionStageIdSchema,
1432
+ MealPlanDecisionStageMetadataSchema,
1433
+ MealPlanDecisionStageResponseSchema,
1434
+ MealPlanDecisionStageStatusSchema,
1435
+ MealPlanDecisionStageTypeSchema,
1436
+ MealPlanDecisionTaskKeySchema,
1437
+ MealPlanDecisionTaskProgressSchema,
1438
+ MealPlanDecisionTaskReadyRequestSchema,
1439
+ MealPlanDecisionTaskStatusSchema,
1440
+ MealPlanGuestParticipantSchema,
1441
+ MealPlanGuestSessionQuerySchema,
1442
+ MealPlanGuestSessionResponseSchema,
1443
+ MealPlanInviteListResponseSchema,
1444
+ MealPlanInviteStatusSchema,
1445
+ MealPlanInviteSummarySchema,
1446
+ MealPlanJoinRequestStatusSchema,
1447
+ MealPlanJoinRequestSummarySchema,
1448
+ MealPlanJoinSourceSchema,
1449
+ MealPlanLatitudeSchema,
1450
+ MealPlanLiveActivityBehaviorSchema,
1451
+ MealPlanLocationCandidateIdSchema,
1452
+ MealPlanLocationCandidateSchema,
1453
+ MealPlanLocationCandidateSourceSchema,
1454
+ MealPlanLongitudeSchema,
1455
+ MealPlanMenuCandidateIdSchema,
1456
+ MealPlanMenuCandidateSchema,
1457
+ MealPlanMenuCandidateSourceSchema,
1458
+ MealPlanNearbyFriendExposureBatchSummarySchema,
1459
+ MealPlanNearbyFriendExposureIdSchema,
1460
+ MealPlanNearbyFriendExposureNotificationStatusSchema,
1461
+ MealPlanNearbyFriendExposureStatusSchema,
1462
+ MealPlanNearbyFriendExposureSummarySchema,
1463
+ MealPlanNearbyFriendRejectionReasonSchema,
1464
+ MealPlanNearbyFriendRejectionSummarySchema,
1465
+ MealPlanNotificationKindSchema,
1466
+ MealPlanNotificationPriorityChannelSchema,
1467
+ MealPlanNotificationPriorityPolicyItemSchema,
1468
+ MealPlanNotificationSchema,
1469
+ MealPlanParticipantIdSchema,
1470
+ MealPlanParticipantResponseSchema,
1471
+ MealPlanParticipantRoleSchema,
1472
+ MealPlanParticipantStatusSchema,
1473
+ MealPlanRecommendationContextSchema,
1474
+ MealPlanResponseSchema,
1475
+ MealPlanRestaurantCandidateSchema,
1476
+ MealPlanRestaurantSearchStateSchema,
1477
+ MealPlanRestaurantSearchStatusSchema,
1478
+ MealPlanShareLinkSummarySchema,
1479
+ MealPlanSharePreviewResponseSchema,
1480
+ MealPlanStatusSchema,
1481
+ MealPlanSystemMessageKindSchema,
1482
+ MealPlanSystemMessageSchema,
1483
+ MealPlanViewerPermissionsSchema,
1484
+ MealPlanViewerRoleSchema,
1485
+ MealPlanVoteIdSchema,
1486
+ MealPlanVoteSchema,
1487
+ MealPlanVoteTypeSchema,
1488
+ MyMealPlanGroupSchema,
1489
+ MyMealPlanListItemSchema,
1490
+ MyMealPlanListResponseSchema,
1491
+ NearbyFriendExposureEligibilitySchema,
1492
+ NearbyFriendMealPlanSummarySchema,
1493
+ ReopenMealPlanDecisionTaskRequestSchema,
1494
+ SendMealPlanChatMessageRequestSchema,
1495
+ SendMealPlanInviteResponseSchema,
1496
+ StartMealPlanFromGroupRequestSchema,
1497
+ UpdateMealGroupMemberRoleRequestSchema,
1498
+ UpdateMealPlanContextRequestSchema,
1499
+ compareMealPlanNotificationsByPriority,
1500
+ getMealPlanLiveActivityBehavior,
1501
+ getMealPlanNotificationPriority,
1502
+ getMealPlanNotificationPriorityPolicy,
1503
+ shouldShowForegroundToast
1504
+ });