@kimdaegyu/babmukdang-shared 1.1.11 → 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 (100) 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 +79 -796
  19. package/dist/domain/article/index.d.ts +79 -796
  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 +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 +2100 -395
  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 -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 +39 -98
  35. package/dist/domain/friend/index.d.ts +39 -98
  36. package/dist/domain/friend/index.js +6 -4
  37. package/dist/domain/index.cjs +2736 -522
  38. package/dist/domain/index.d.cts +383 -123
  39. package/dist/domain/index.d.ts +383 -123
  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 +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 +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 +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 +26 -8
  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 +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 +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 +2535 -464
  70. package/dist/index.d.cts +5 -7
  71. package/dist/index.d.ts +5 -7
  72. package/dist/index.js +16 -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
@@ -5,6 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
9
  var __export = (target, all) => {
9
10
  for (var name in all)
10
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -30,8 +31,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
31
  // src/domain/index.ts
31
32
  var domain_exports = {};
32
33
  __export(domain_exports, {
33
- AcceptInvitationResponseSchema: () => AcceptInvitationResponseSchema,
34
- AddLocationCandidateRequestSchema: () => AddLocationCandidateRequestSchema,
34
+ AI_CLASS_TO_FOOD_CODE_MAP_PATH: () => AI_CLASS_TO_FOOD_CODE_MAP_PATH,
35
+ AddMealGroupMemberRequestSchema: () => AddMealGroupMemberRequestSchema,
36
+ AiClassFoodCodeMappingSchema: () => AiClassFoodCodeMappingSchema,
37
+ AiClassToFoodCodeMapManifestSchema: () => AiClassToFoodCodeMapManifestSchema,
35
38
  ApiFailureSchema: () => ApiFailureSchema,
36
39
  ApiResponseSchema: () => ApiResponseSchema,
37
40
  ApiSuccessSchema: () => ApiSuccessSchema,
@@ -43,33 +46,61 @@ __export(domain_exports, {
43
46
  ArticleListQuerySchema: () => ArticleListQuerySchema,
44
47
  ArticleSortBySchema: () => ArticleSortBySchema,
45
48
  ArticleSummaryResponseSchema: () => ArticleSummaryResponseSchema,
49
+ CACHE_INVALIDATION_SSE_EVENT: () => CACHE_INVALIDATION_SSE_EVENT,
50
+ CacheInvalidationActionSchema: () => CacheInvalidationActionSchema,
51
+ CacheInvalidationEntitySchema: () => CacheInvalidationEntitySchema,
52
+ CacheInvalidationEventSchema: () => CacheInvalidationEventSchema,
53
+ CacheInvalidationKeySchema: () => CacheInvalidationKeySchema,
46
54
  ChallengeStatusResponseSchema: () => ChallengeStatusResponseSchema,
47
- ChatMessageRequestSchema: () => ChatMessageRequestSchema,
48
- ChatMessageResponseSchema: () => ChatMessageResponseSchema,
49
55
  ClaimChallengeRewardRequestSchema: () => ClaimChallengeRewardRequestSchema,
50
56
  ClaimChallengeRewardResponseSchema: () => ClaimChallengeRewardResponseSchema,
51
57
  CommentIdSchema: () => CommentIdSchema,
58
+ CompleteMealPlanDecisionStageRequestSchema: () => CompleteMealPlanDecisionStageRequestSchema,
59
+ CompleteOnboardingRequestSchema: () => CompleteOnboardingRequestSchema,
60
+ ConfirmMealPlanDecisionSnapshotRequestSchema: () => ConfirmMealPlanDecisionSnapshotRequestSchema,
52
61
  CouponIdSchema: () => CouponIdSchema,
53
62
  CouponResponseSchema: () => CouponResponseSchema,
54
63
  CouponStatusSchema: () => CouponStatusSchema,
55
64
  CouponTypeSchema: () => CouponTypeSchema,
56
65
  CreateArticleRequestSchema: () => CreateArticleRequestSchema,
57
66
  CreateCommentRequestSchema: () => CreateCommentRequestSchema,
58
- CreateInvitationRequestSchema: () => CreateInvitationRequestSchema,
67
+ CreateMealGroupRequestSchema: () => CreateMealGroupRequestSchema,
68
+ CreateMealPlanChangeRequestSchema: () => CreateMealPlanChangeRequestSchema,
69
+ CreateMealPlanInviteRequestSchema: () => CreateMealPlanInviteRequestSchema,
70
+ CreateMealPlanJoinRequestSchema: () => CreateMealPlanJoinRequestSchema,
71
+ CreateMealPlanParticipantRequestSchema: () => CreateMealPlanParticipantRequestSchema,
72
+ CreateMealPlanRequestSchema: () => CreateMealPlanRequestSchema,
73
+ CreateMealPlanResponseSchema: () => CreateMealPlanResponseSchema,
74
+ CreateMealPlanShareLinkRequestSchema: () => CreateMealPlanShareLinkRequestSchema,
75
+ CreateMealPlanVoteRequestSchema: () => CreateMealPlanVoteRequestSchema,
59
76
  CreateProfileRequestSchema: () => CreateProfileRequestSchema,
60
- CreateRecruitRequestSchema: () => CreateRecruitRequestSchema,
61
- CreateRecruitResponseSchema: () => CreateRecruitResponseSchema,
62
77
  CreatedEntityIdResponseSchema: () => CreatedEntityIdResponseSchema,
63
- DatePicksUpdateResponseSchema: () => DatePicksUpdateResponseSchema,
64
- ExcludeMenuRequestSchema: () => ExcludeMenuRequestSchema,
65
- ExcludeMenuUpdateResponseSchema: () => ExcludeMenuUpdateResponseSchema,
66
- FinalStateSchema: () => FinalStateSchema,
78
+ CuisineTagSchema: () => CuisineTagSchema,
79
+ DevicePermissionSnapshotSchema: () => DevicePermissionSnapshotSchema,
80
+ EndMealPlanLiveActivitySessionRequestSchema: () => EndMealPlanLiveActivitySessionRequestSchema,
81
+ ExposeMealPlanToNearbyFriendsRequestSchema: () => ExposeMealPlanToNearbyFriendsRequestSchema,
82
+ ExposeMealPlanToNearbyFriendsResponseSchema: () => ExposeMealPlanToNearbyFriendsResponseSchema,
83
+ FOOD_CODE_MANIFEST_PATH: () => FOOD_CODE_MANIFEST_PATH,
84
+ FOOD_IMAGE_INDEX_PATH: () => FOOD_IMAGE_INDEX_PATH,
85
+ FoodAiClassMappingStatusSchema: () => FoodAiClassMappingStatusSchema,
67
86
  FoodAnalysisResultSchema: () => FoodAnalysisResultSchema,
87
+ FoodCodeManifestImageSchema: () => FoodCodeManifestImageSchema,
88
+ FoodCodeManifestItemSchema: () => FoodCodeManifestItemSchema,
89
+ FoodCodeManifestSchema: () => FoodCodeManifestSchema,
68
90
  FoodCodeSchema: () => FoodCodeSchema,
91
+ FoodGranularitySchema: () => FoodGranularitySchema,
92
+ FoodImageIndexItemSchema: () => FoodImageIndexItemSchema,
93
+ FoodImageIndexManifestSchema: () => FoodImageIndexManifestSchema,
69
94
  FoodLabelSchema: () => FoodLabelSchema,
95
+ FoodResolveQuerySchema: () => FoodResolveQuerySchema,
96
+ FoodResolveResponseSchema: () => FoodResolveResponseSchema,
97
+ FoodResolvedMatchSourceSchema: () => FoodResolvedMatchSourceSchema,
70
98
  FoodSchema: () => FoodSchema,
99
+ FoodSearchQuerySchema: () => FoodSearchQuerySchema,
100
+ FoodSearchResponseSchema: () => FoodSearchResponseSchema,
71
101
  FriendBlockItemResponseSchema: () => FriendBlockItemResponseSchema,
72
102
  FriendListItemResponseSchema: () => FriendListItemResponseSchema,
103
+ FriendMealAvailabilitySchema: () => FriendMealAvailabilitySchema,
73
104
  FriendMealItemResponseSchema: () => FriendMealItemResponseSchema,
74
105
  FriendMealQuerySchema: () => FriendMealQuerySchema,
75
106
  FriendRequestIdSchema: () => FriendRequestIdSchema,
@@ -78,19 +109,121 @@ __export(domain_exports, {
78
109
  FriendRequestStatusSchema: () => FriendRequestStatusSchema,
79
110
  FriendSearchQuerySchema: () => FriendSearchQuerySchema,
80
111
  FriendSearchResponseSchema: () => FriendSearchResponseSchema,
112
+ HomeMealPlanActionCardSchema: () => HomeMealPlanActionCardSchema,
113
+ HomeMealPlanActionKindSchema: () => HomeMealPlanActionKindSchema,
114
+ HomeMealPlanDashboardResponseSchema: () => HomeMealPlanDashboardResponseSchema,
81
115
  ISODateStringSchema: () => ISODateStringSchema,
82
116
  ISODateTimeStringSchema: () => ISODateTimeStringSchema,
83
- InvitationIdSchema: () => InvitationIdSchema,
84
- InvitationListItemResponseSchema: () => InvitationListItemResponseSchema,
85
- InvitationRoomStageSchema: () => InvitationRoomStageSchema,
117
+ JoinMealPlanGuestRequestSchema: () => JoinMealPlanGuestRequestSchema,
118
+ JoinMealPlanGuestResponseSchema: () => JoinMealPlanGuestResponseSchema,
86
119
  KakaoPlaceRawSchema: () => KakaoPlaceRawSchema,
87
- LocationCandidateAddUpdateResponseSchema: () => LocationCandidateAddUpdateResponseSchema,
88
- LocationCandidateSchema: () => LocationCandidateSchema,
89
- LocationCandidateVoteUpdateResponseSchema: () => LocationCandidateVoteUpdateResponseSchema,
90
- LocationIdSchema: () => LocationIdSchema,
120
+ LocationConsentStatusSchema: () => LocationConsentStatusSchema,
91
121
  LoginRequestSchema: () => LoginRequestSchema,
92
- MatchingNotificationKindSchema: () => MatchingNotificationKindSchema,
93
- MatchingNotificationSchema: () => MatchingNotificationSchema,
122
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES: () => MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
123
+ MealGroupHistoryItemSchema: () => MealGroupHistoryItemSchema,
124
+ MealGroupHistoryResponseSchema: () => MealGroupHistoryResponseSchema,
125
+ MealGroupIdSchema: () => MealGroupIdSchema,
126
+ MealGroupMemberRoleSchema: () => MealGroupMemberRoleSchema,
127
+ MealGroupMemberSchema: () => MealGroupMemberSchema,
128
+ MealGroupPreferenceSummarySchema: () => MealGroupPreferenceSummarySchema,
129
+ MealGroupResponseSchema: () => MealGroupResponseSchema,
130
+ MealMapFriendRecordLocationMetadataSchema: () => MealMapFriendRecordLocationMetadataSchema,
131
+ MealMapLayerSchema: () => MealMapLayerSchema,
132
+ MealMapMarkerSchema: () => MealMapMarkerSchema,
133
+ MealMapMyMealPlanPlaceMetadataSchema: () => MealMapMyMealPlanPlaceMetadataSchema,
134
+ MealMapNearbyFriendMealPlanMetadataSchema: () => MealMapNearbyFriendMealPlanMetadataSchema,
135
+ MealMapQuerySchema: () => MealMapQuerySchema,
136
+ MealMapResponseSchema: () => MealMapResponseSchema,
137
+ MealMapRestaurantCandidateCompletionBlockedReasonSchema: () => MealMapRestaurantCandidateCompletionBlockedReasonSchema,
138
+ MealMapRestaurantCandidateMetadataSchema: () => MealMapRestaurantCandidateMetadataSchema,
139
+ MealPlanChangeRequestIdSchema: () => MealPlanChangeRequestIdSchema,
140
+ MealPlanChangeRequestStatusSchema: () => MealPlanChangeRequestStatusSchema,
141
+ MealPlanChangeRequestSummarySchema: () => MealPlanChangeRequestSummarySchema,
142
+ MealPlanChannelSchema: () => MealPlanChannelSchema,
143
+ MealPlanChatMessageIdSchema: () => MealPlanChatMessageIdSchema,
144
+ MealPlanChatMessageKindSchema: () => MealPlanChatMessageKindSchema,
145
+ MealPlanChatMessageListResponseSchema: () => MealPlanChatMessageListResponseSchema,
146
+ MealPlanChatMessageResponseSchema: () => MealPlanChatMessageResponseSchema,
147
+ MealPlanChatRoomIdSchema: () => MealPlanChatRoomIdSchema,
148
+ MealPlanChatRoomSummarySchema: () => MealPlanChatRoomSummarySchema,
149
+ MealPlanChatSystemPayloadSchema: () => MealPlanChatSystemPayloadSchema,
150
+ MealPlanDecisionActorTypeSchema: () => MealPlanDecisionActorTypeSchema,
151
+ MealPlanDecisionCandidateSchema: () => MealPlanDecisionCandidateSchema,
152
+ MealPlanDecisionFinalFieldSchema: () => MealPlanDecisionFinalFieldSchema,
153
+ MealPlanDecisionProgressSchema: () => MealPlanDecisionProgressSchema,
154
+ MealPlanDecisionReasonSchema: () => MealPlanDecisionReasonSchema,
155
+ MealPlanDecisionSnapshotSchema: () => MealPlanDecisionSnapshotSchema,
156
+ MealPlanDecisionSnapshotStatusSchema: () => MealPlanDecisionSnapshotStatusSchema,
157
+ MealPlanDecisionStageIdSchema: () => MealPlanDecisionStageIdSchema,
158
+ MealPlanDecisionStageMetadataSchema: () => MealPlanDecisionStageMetadataSchema,
159
+ MealPlanDecisionStageResponseSchema: () => MealPlanDecisionStageResponseSchema,
160
+ MealPlanDecisionStageStatusSchema: () => MealPlanDecisionStageStatusSchema,
161
+ MealPlanDecisionStageTypeSchema: () => MealPlanDecisionStageTypeSchema,
162
+ MealPlanDecisionTaskKeySchema: () => MealPlanDecisionTaskKeySchema,
163
+ MealPlanDecisionTaskProgressSchema: () => MealPlanDecisionTaskProgressSchema,
164
+ MealPlanDecisionTaskReadyRequestSchema: () => MealPlanDecisionTaskReadyRequestSchema,
165
+ MealPlanDecisionTaskStatusSchema: () => MealPlanDecisionTaskStatusSchema,
166
+ MealPlanGuestParticipantSchema: () => MealPlanGuestParticipantSchema,
167
+ MealPlanGuestSessionQuerySchema: () => MealPlanGuestSessionQuerySchema,
168
+ MealPlanGuestSessionResponseSchema: () => MealPlanGuestSessionResponseSchema,
169
+ MealPlanIdSchema: () => MealPlanIdSchema,
170
+ MealPlanInviteIdSchema: () => MealPlanInviteIdSchema,
171
+ MealPlanInviteListResponseSchema: () => MealPlanInviteListResponseSchema,
172
+ MealPlanInviteStatusSchema: () => MealPlanInviteStatusSchema,
173
+ MealPlanInviteSummarySchema: () => MealPlanInviteSummarySchema,
174
+ MealPlanJoinRequestIdSchema: () => MealPlanJoinRequestIdSchema,
175
+ MealPlanJoinRequestStatusSchema: () => MealPlanJoinRequestStatusSchema,
176
+ MealPlanJoinRequestSummarySchema: () => MealPlanJoinRequestSummarySchema,
177
+ MealPlanJoinSourceSchema: () => MealPlanJoinSourceSchema,
178
+ MealPlanLatitudeSchema: () => MealPlanLatitudeSchema,
179
+ MealPlanLiveActivityBehaviorSchema: () => MealPlanLiveActivityBehaviorSchema,
180
+ MealPlanLiveActivityPlatformSchema: () => MealPlanLiveActivityPlatformSchema,
181
+ MealPlanLiveActivitySessionListResponseSchema: () => MealPlanLiveActivitySessionListResponseSchema,
182
+ MealPlanLiveActivitySessionResponseSchema: () => MealPlanLiveActivitySessionResponseSchema,
183
+ MealPlanLiveActivitySessionStatusSchema: () => MealPlanLiveActivitySessionStatusSchema,
184
+ MealPlanLiveActivityStateSchema: () => MealPlanLiveActivityStateSchema,
185
+ MealPlanLiveActivityUpdateStatusSchema: () => MealPlanLiveActivityUpdateStatusSchema,
186
+ MealPlanLocationCandidateIdSchema: () => MealPlanLocationCandidateIdSchema,
187
+ MealPlanLocationCandidateSchema: () => MealPlanLocationCandidateSchema,
188
+ MealPlanLocationCandidateSourceSchema: () => MealPlanLocationCandidateSourceSchema,
189
+ MealPlanLongitudeSchema: () => MealPlanLongitudeSchema,
190
+ MealPlanMenuCandidateIdSchema: () => MealPlanMenuCandidateIdSchema,
191
+ MealPlanMenuCandidateSchema: () => MealPlanMenuCandidateSchema,
192
+ MealPlanMenuCandidateSourceSchema: () => MealPlanMenuCandidateSourceSchema,
193
+ MealPlanNearbyFriendExposureBatchIdSchema: () => MealPlanNearbyFriendExposureBatchIdSchema,
194
+ MealPlanNearbyFriendExposureBatchSummarySchema: () => MealPlanNearbyFriendExposureBatchSummarySchema,
195
+ MealPlanNearbyFriendExposureIdSchema: () => MealPlanNearbyFriendExposureIdSchema,
196
+ MealPlanNearbyFriendExposureNotificationStatusSchema: () => MealPlanNearbyFriendExposureNotificationStatusSchema,
197
+ MealPlanNearbyFriendExposureStatusSchema: () => MealPlanNearbyFriendExposureStatusSchema,
198
+ MealPlanNearbyFriendExposureSummarySchema: () => MealPlanNearbyFriendExposureSummarySchema,
199
+ MealPlanNearbyFriendRejectionReasonSchema: () => MealPlanNearbyFriendRejectionReasonSchema,
200
+ MealPlanNearbyFriendRejectionSummarySchema: () => MealPlanNearbyFriendRejectionSummarySchema,
201
+ MealPlanNotificationKindSchema: () => MealPlanNotificationKindSchema,
202
+ MealPlanNotificationPriorityChannelSchema: () => MealPlanNotificationPriorityChannelSchema,
203
+ MealPlanNotificationPriorityPolicyItemSchema: () => MealPlanNotificationPriorityPolicyItemSchema,
204
+ MealPlanNotificationSchema: () => MealPlanNotificationSchema,
205
+ MealPlanParticipantIdSchema: () => MealPlanParticipantIdSchema,
206
+ MealPlanParticipantResponseSchema: () => MealPlanParticipantResponseSchema,
207
+ MealPlanParticipantRoleSchema: () => MealPlanParticipantRoleSchema,
208
+ MealPlanParticipantStatusSchema: () => MealPlanParticipantStatusSchema,
209
+ MealPlanPushPayloadDataSchema: () => MealPlanPushPayloadDataSchema,
210
+ MealPlanRecommendationContextSchema: () => MealPlanRecommendationContextSchema,
211
+ MealPlanResponseSchema: () => MealPlanResponseSchema,
212
+ MealPlanRestaurantCandidateSchema: () => MealPlanRestaurantCandidateSchema,
213
+ MealPlanRestaurantSearchStateSchema: () => MealPlanRestaurantSearchStateSchema,
214
+ MealPlanRestaurantSearchStatusSchema: () => MealPlanRestaurantSearchStatusSchema,
215
+ MealPlanShareLinkIdSchema: () => MealPlanShareLinkIdSchema,
216
+ MealPlanShareLinkSummarySchema: () => MealPlanShareLinkSummarySchema,
217
+ MealPlanShareLinkTokenSchema: () => MealPlanShareLinkTokenSchema,
218
+ MealPlanSharePreviewResponseSchema: () => MealPlanSharePreviewResponseSchema,
219
+ MealPlanStatusSchema: () => MealPlanStatusSchema,
220
+ MealPlanSystemMessageKindSchema: () => MealPlanSystemMessageKindSchema,
221
+ MealPlanSystemMessageSchema: () => MealPlanSystemMessageSchema,
222
+ MealPlanViewerPermissionsSchema: () => MealPlanViewerPermissionsSchema,
223
+ MealPlanViewerRoleSchema: () => MealPlanViewerRoleSchema,
224
+ MealPlanVoteIdSchema: () => MealPlanVoteIdSchema,
225
+ MealPlanVoteSchema: () => MealPlanVoteSchema,
226
+ MealPlanVoteTypeSchema: () => MealPlanVoteTypeSchema,
94
227
  MealStatusActionSchema: () => MealStatusActionSchema,
95
228
  MealStatusResponseSchema: () => MealStatusResponseSchema,
96
229
  MealStatusSchema: () => MealStatusSchema,
@@ -98,67 +231,68 @@ __export(domain_exports, {
98
231
  MemberDetailSchema: () => MemberDetailSchema,
99
232
  MemberFoodPreferenceSchema: () => MemberFoodPreferenceSchema,
100
233
  MemberIdSchema: () => MemberIdSchema,
234
+ MemberLocationSchema: () => MemberLocationSchema,
235
+ MemberLocationSettingsResponseSchema: () => MemberLocationSettingsResponseSchema,
101
236
  MemberResponseSchema: () => MemberResponseSchema,
102
237
  MemberRoleSchema: () => MemberRoleSchema,
103
238
  MemberSearchQuerySchema: () => MemberSearchQuerySchema,
104
239
  MemberSerachResponseSchema: () => MemberSerachResponseSchema,
105
- MenuCodeSchema: () => MenuCodeSchema,
106
- MenuPickUpdateResponseSchema: () => MenuPickUpdateResponseSchema,
107
- MenuSchema: () => MenuSchema,
240
+ MyMealPlanGroupSchema: () => MyMealPlanGroupSchema,
241
+ MyMealPlanListItemSchema: () => MyMealPlanListItemSchema,
242
+ MyMealPlanListResponseSchema: () => MyMealPlanListResponseSchema,
243
+ NearbyFriendExposureEligibilitySchema: () => NearbyFriendExposureEligibilitySchema,
244
+ NearbyFriendMealPlanSummarySchema: () => NearbyFriendMealPlanSummarySchema,
108
245
  NoBodySchema: () => NoBodySchema,
109
246
  NoContentSchema: () => NoContentSchema,
110
247
  NoParamsSchema: () => NoParamsSchema,
111
248
  NoQuerySchema: () => NoQuerySchema,
112
249
  NonEmptyStringIdSchema: () => NonEmptyStringIdSchema,
250
+ OnboardingDraftSchema: () => OnboardingDraftSchema,
251
+ OnboardingStatusSchema: () => OnboardingStatusSchema,
113
252
  PageArticleSummaryResponseSchema: () => PageArticleSummaryResponseSchema,
114
253
  PageMetaSchema: () => PageMetaSchema,
115
254
  PageQuerySchema: () => PageQuerySchema,
116
255
  PageResponseSchema: () => PageResponseSchema,
117
- ParticipantSchema: () => ParticipantSchema,
118
- PhaseDataBroadcastSchema: () => PhaseDataBroadcastSchema,
119
- PickDateRequestSchema: () => PickDateRequestSchema,
120
- PickMenuRequestSchema: () => PickMenuRequestSchema,
121
- PickRestaurantRequestSchema: () => PickRestaurantRequestSchema,
122
- PickTimesRequestSchema: () => PickTimesRequestSchema,
123
- PlanIdSchema: () => PlanIdSchema,
124
- PlanListQuerySchema: () => PlanListQuerySchema,
125
- PlanResponseSchema: () => PlanResponseSchema,
126
- PlanStatusSchema: () => PlanStatusSchema,
127
- PlanTypeSchema: () => PlanTypeSchema,
256
+ PermissionKindSchema: () => PermissionKindSchema,
257
+ PermissionPlatformSchema: () => PermissionPlatformSchema,
258
+ PermissionStatusSchema: () => PermissionStatusSchema,
128
259
  PositiveIntIdSchema: () => PositiveIntIdSchema,
129
260
  ProfileDetailResponseSchema: () => ProfileDetailResponseSchema,
130
- ReadyStateChangedSchema: () => ReadyStateChangedSchema,
131
- ReadyStateRequestSchema: () => ReadyStateRequestSchema,
132
- RecruitIdSchema: () => RecruitIdSchema,
133
- RecruitListQuerySchema: () => RecruitListQuerySchema,
134
- RecruitListResponseSchema: () => RecruitListResponseSchema,
135
- RecruitRoomStageSchema: () => RecruitRoomStageSchema,
136
- RecruitSortBySchema: () => RecruitSortBySchema,
137
- RecruitStatusSchema: () => RecruitStatusSchema,
261
+ PushDeliveryAttemptResultSchema: () => PushDeliveryAttemptResultSchema,
262
+ PushDeliveryAttemptSummarySchema: () => PushDeliveryAttemptSummarySchema,
263
+ PushDeliveryOutboxSummarySchema: () => PushDeliveryOutboxSummarySchema,
264
+ PushDeliveryStatusSchema: () => PushDeliveryStatusSchema,
265
+ PushPayloadSchemaVersionSchema: () => PushPayloadSchemaVersionSchema,
266
+ PushPermissionStatusSchema: () => PushPermissionStatusSchema,
267
+ PushPlatformSchema: () => PushPlatformSchema,
268
+ PushProviderSchema: () => PushProviderSchema,
269
+ PushTokenResponseSchema: () => PushTokenResponseSchema,
270
+ PushTokenStatusSchema: () => PushTokenStatusSchema,
138
271
  RedeemReferralRequestSchema: () => RedeemReferralRequestSchema,
139
272
  ReferralCodeSchema: () => ReferralCodeSchema,
140
273
  ReferralCreateResponseSchema: () => ReferralCreateResponseSchema,
141
274
  ReferralItemResponseSchema: () => ReferralItemResponseSchema,
275
+ RegisterMealPlanLiveActivitySessionRequestSchema: () => RegisterMealPlanLiveActivitySessionRequestSchema,
276
+ RegisterPushTokenRequestSchema: () => RegisterPushTokenRequestSchema,
277
+ ReopenMealPlanDecisionTaskRequestSchema: () => ReopenMealPlanDecisionTaskRequestSchema,
278
+ ResolvedFoodCodeSchema: () => ResolvedFoodCodeSchema,
142
279
  RestaurantIdSchema: () => RestaurantIdSchema,
143
- RestaurantPickUpdateResponseSchema: () => RestaurantPickUpdateResponseSchema,
144
280
  RestaurantSchema: () => RestaurantSchema,
145
- RoomAccessResponseSchema: () => RoomAccessResponseSchema,
146
- RoomAssignedResponseSchema: () => RoomAssignedResponseSchema,
147
- RoomIdSchema: () => RoomIdSchema,
148
- RoomInitialStateSchema: () => RoomInitialStateSchema,
149
- RoomSocketClientEventSchemas: () => RoomSocketClientEventSchemas,
150
- RoomSocketErrorSchema: () => RoomSocketErrorSchema,
151
- RoomSocketServerEventSchemas: () => RoomSocketServerEventSchemas,
152
- RoomTypeSchema: () => RoomTypeSchema,
153
- SendInvitationResponseSchema: () => SendInvitationResponseSchema,
281
+ RevokePushTokenRequestSchema: () => RevokePushTokenRequestSchema,
282
+ SendMealPlanChatMessageRequestSchema: () => SendMealPlanChatMessageRequestSchema,
283
+ SendMealPlanInviteResponseSchema: () => SendMealPlanInviteResponseSchema,
154
284
  SignupRequestSchema: () => SignupRequestSchema,
155
285
  SignupResponseSchema: () => SignupResponseSchema,
156
286
  SortDirectionSchema: () => SortDirectionSchema,
287
+ StartMealPlanFromGroupRequestSchema: () => StartMealPlanFromGroupRequestSchema,
157
288
  SubscriptionIdSchema: () => SubscriptionIdSchema,
158
289
  TimeHHmmStringSchema: () => TimeHHmmStringSchema,
159
- TimePicksUpdateResponseSchema: () => TimePicksUpdateResponseSchema,
160
290
  TokenResponseSchema: () => TokenResponseSchema,
291
+ UpdateMealGroupMemberRoleRequestSchema: () => UpdateMealGroupMemberRoleRequestSchema,
292
+ UpdateMealPlanContextRequestSchema: () => UpdateMealPlanContextRequestSchema,
161
293
  UpdateMealStatusRequestSchema: () => UpdateMealStatusRequestSchema,
294
+ UpdateMemberLocationConsentRequestSchema: () => UpdateMemberLocationConsentRequestSchema,
295
+ UpdateMemberLocationRequestSchema: () => UpdateMemberLocationRequestSchema,
162
296
  UpdatePreferenceRequestSchema: () => UpdatePreferenceRequestSchema,
163
297
  UpdateProfileRequestSchema: () => UpdateProfileRequestSchema,
164
298
  UploadArticleImageRequestSchema: () => UploadArticleImageRequestSchema,
@@ -166,22 +300,32 @@ __export(domain_exports, {
166
300
  UploadProfileImageRequestSchema: () => UploadProfileImageRequestSchema,
167
301
  UploadProfileImageResponseSchema: () => UploadProfileImageResponseSchema,
168
302
  UserIdSchema: () => UserIdSchema,
169
- VoteLocationRequestSchema: () => VoteLocationRequestSchema,
170
303
  apiContract: () => apiContract,
304
+ compareMealPlanNotificationsByPriority: () => compareMealPlanNotificationsByPriority,
171
305
  endpoint: () => endpoint,
306
+ getMealPlanLiveActivityBehavior: () => getMealPlanLiveActivityBehavior,
307
+ getMealPlanNotificationPriority: () => getMealPlanNotificationPriority,
308
+ getMealPlanNotificationPriorityPolicy: () => getMealPlanNotificationPriorityPolicy,
172
309
  makeApiResponseSchema: () => makeApiResponseSchema,
173
310
  makeApiSuccessSchema: () => makeApiSuccessSchema,
311
+ shouldShowForegroundToast: () => shouldShowForegroundToast,
174
312
  toArticleId: () => toArticleId,
175
313
  toCommentId: () => toCommentId,
176
314
  toCouponId: () => toCouponId,
177
315
  toFriendRequestId: () => toFriendRequestId,
178
- toInvitationId: () => toInvitationId,
316
+ toMealGroupId: () => toMealGroupId,
317
+ toMealPlanChangeRequestId: () => toMealPlanChangeRequestId,
318
+ toMealPlanChatMessageId: () => toMealPlanChatMessageId,
319
+ toMealPlanChatRoomId: () => toMealPlanChatRoomId,
320
+ toMealPlanId: () => toMealPlanId,
321
+ toMealPlanInviteId: () => toMealPlanInviteId,
322
+ toMealPlanJoinRequestId: () => toMealPlanJoinRequestId,
323
+ toMealPlanNearbyFriendExposureBatchId: () => toMealPlanNearbyFriendExposureBatchId,
324
+ toMealPlanShareLinkId: () => toMealPlanShareLinkId,
325
+ toMealPlanShareLinkToken: () => toMealPlanShareLinkToken,
179
326
  toMemberId: () => toMemberId,
180
- toPlanId: () => toPlanId,
181
- toRecruitId: () => toRecruitId,
182
327
  toReferralCode: () => toReferralCode,
183
328
  toRestaurantId: () => toRestaurantId,
184
- toRoomId: () => toRoomId,
185
329
  toSubscriptionId: () => toSubscriptionId
186
330
  });
187
331
  module.exports = __toCommonJS(domain_exports);
@@ -193,7 +337,10 @@ var import_zod7 = require("zod");
193
337
  var import_zod = require("zod");
194
338
  var isoDateRegex = /^\d{4}-\d{2}-\d{2}$/;
195
339
  var ISODateStringSchema = import_zod.z.string().regex(isoDateRegex, "Expected ISO date string in YYYY-MM-DD format");
196
- var ISODateTimeStringSchema = import_zod.z.string().datetime({ offset: true, message: "Expected ISO datetime string" });
340
+ var ISODateTimeStringSchema = import_zod.z.string().datetime({
341
+ offset: true,
342
+ message: "Expected ISO datetime string"
343
+ });
197
344
  var TimeHHmmStringSchema = import_zod.z.string().regex(/^\d{2}:\d{2}$/, "Expected time string in HH:mm format");
198
345
 
199
346
  // src/domain/common/schema/id.schema.ts
@@ -204,10 +351,16 @@ var MemberIdSchema = PositiveIntIdSchema.brand();
204
351
  var UserIdSchema = MemberIdSchema;
205
352
  var ArticleIdSchema = PositiveIntIdSchema.brand();
206
353
  var CommentIdSchema = PositiveIntIdSchema.brand();
207
- var RecruitIdSchema = PositiveIntIdSchema.brand();
208
- var PlanIdSchema = PositiveIntIdSchema.brand();
209
- var InvitationIdSchema = PositiveIntIdSchema.brand();
210
- var RoomIdSchema = NonEmptyStringIdSchema.brand();
354
+ var MealPlanIdSchema = import_zod2.z.string().uuid().brand();
355
+ var MealPlanInviteIdSchema = import_zod2.z.string().uuid().brand();
356
+ var MealPlanJoinRequestIdSchema = import_zod2.z.string().uuid().brand();
357
+ var MealPlanNearbyFriendExposureBatchIdSchema = import_zod2.z.string().uuid().brand();
358
+ var MealPlanChangeRequestIdSchema = import_zod2.z.string().uuid().brand();
359
+ var MealPlanShareLinkIdSchema = import_zod2.z.string().uuid().brand();
360
+ var MealPlanShareLinkTokenSchema = import_zod2.z.string().min(8).max(128).brand();
361
+ var MealPlanChatRoomIdSchema = import_zod2.z.string().uuid().brand();
362
+ var MealPlanChatMessageIdSchema = import_zod2.z.string().uuid().brand();
363
+ var MealGroupIdSchema = import_zod2.z.string().uuid().brand();
211
364
  var RestaurantIdSchema = NonEmptyStringIdSchema.brand();
212
365
  var CouponIdSchema = PositiveIntIdSchema.brand();
213
366
  var SubscriptionIdSchema = PositiveIntIdSchema.brand();
@@ -234,11 +387,14 @@ var PageMetaSchema = import_zod3.z.object({
234
387
  hasNext: import_zod3.z.boolean(),
235
388
  hasPrevious: import_zod3.z.boolean()
236
389
  });
237
- var PageResponseSchema = (item) => import_zod3.z.object({
390
+ var PageResponseSchema = /* @__PURE__ */ __name((item) => import_zod3.z.object({
238
391
  items: import_zod3.z.array(item),
239
392
  meta: PageMetaSchema
240
- });
241
- var SortDirectionSchema = import_zod3.z.enum(["asc", "desc"]);
393
+ }), "PageResponseSchema");
394
+ var SortDirectionSchema = import_zod3.z.enum([
395
+ "asc",
396
+ "desc"
397
+ ]);
242
398
 
243
399
  // src/domain/member/member.schema.ts
244
400
  var import_zod5 = require("zod");
@@ -255,7 +411,66 @@ var UploadPresignImageRequestSchema = import_zod4.default.object({
255
411
  });
256
412
 
257
413
  // src/domain/member/member.schema.ts
258
- var MemberRoleSchema = import_zod5.z.enum(["USER", "ADMIN"]);
414
+ var MemberRoleSchema = import_zod5.z.enum([
415
+ "USER",
416
+ "ADMIN"
417
+ ]);
418
+ var LocationConsentStatusSchema = import_zod5.z.enum([
419
+ "UNKNOWN",
420
+ "GRANTED",
421
+ "DENIED"
422
+ ]);
423
+ var OnboardingStatusSchema = import_zod5.z.enum([
424
+ "REQUIRED",
425
+ "COMPLETED"
426
+ ]);
427
+ var PermissionKindSchema = import_zod5.z.enum([
428
+ "LOCATION",
429
+ "NOTIFICATION",
430
+ "CAMERA"
431
+ ]);
432
+ var PermissionStatusSchema = import_zod5.z.enum([
433
+ "UNKNOWN",
434
+ "PROMPT",
435
+ "GRANTED",
436
+ "DENIED",
437
+ "LIMITED",
438
+ "UNSUPPORTED"
439
+ ]);
440
+ var PermissionPlatformSchema = import_zod5.z.enum([
441
+ "WEB",
442
+ "IOS",
443
+ "ANDROID",
444
+ "UNKNOWN"
445
+ ]);
446
+ var DevicePermissionSnapshotSchema = import_zod5.z.object({
447
+ kind: PermissionKindSchema,
448
+ status: PermissionStatusSchema,
449
+ platform: PermissionPlatformSchema.default("UNKNOWN"),
450
+ canAskAgain: import_zod5.z.boolean().optional(),
451
+ checkedAt: import_zod5.z.string().datetime()
452
+ });
453
+ var MemberLocationSchema = import_zod5.z.object({
454
+ latitude: import_zod5.z.number().min(-90).max(90),
455
+ longitude: import_zod5.z.number().min(-180).max(180),
456
+ accuracyMeters: import_zod5.z.number().min(0).nullable().optional(),
457
+ capturedAt: import_zod5.z.string().datetime()
458
+ });
459
+ var UpdateMemberLocationRequestSchema = MemberLocationSchema;
460
+ var UpdateMemberLocationConsentRequestSchema = import_zod5.z.object({
461
+ locationConsentStatus: LocationConsentStatusSchema,
462
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean().default(false),
463
+ mealSuggestionAllowed: import_zod5.z.boolean().optional(),
464
+ permissionSnapshot: DevicePermissionSnapshotSchema.optional()
465
+ });
466
+ var MemberLocationSettingsResponseSchema = import_zod5.z.object({
467
+ locationConsentStatus: LocationConsentStatusSchema,
468
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean(),
469
+ mealSuggestionAllowed: import_zod5.z.boolean(),
470
+ lastKnownLocation: MemberLocationSchema.nullable(),
471
+ permissionSnapshot: DevicePermissionSnapshotSchema.nullable().optional(),
472
+ updatedAt: import_zod5.z.string().datetime().nullable()
473
+ });
259
474
  var MemberCoreSchema = import_zod5.z.object({
260
475
  memberId: MemberIdSchema,
261
476
  username: import_zod5.z.string().min(1).max(50),
@@ -267,6 +482,11 @@ var MemberResponseSchema = MemberCoreSchema.pick({
267
482
  memberId: true,
268
483
  username: true,
269
484
  profileImageUrl: true
485
+ }).extend({
486
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
487
+ onboardingCompletedAt: import_zod5.z.string().datetime().nullable().default(null),
488
+ locationConsentStatus: LocationConsentStatusSchema.optional(),
489
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean().optional()
270
490
  });
271
491
  var MemberSearchQuerySchema = import_zod5.z.object({
272
492
  email: import_zod5.z.string().email().optional(),
@@ -277,7 +497,11 @@ var MemberDetailSchema = MemberCoreSchema.extend({
277
497
  bio: import_zod5.z.string().nullable(),
278
498
  friendConunt: import_zod5.z.number().int().min(0).default(0),
279
499
  completedPlans: import_zod5.z.number().int().min(0).default(0),
280
- uncompletedPlans: import_zod5.z.number().int().min(0).default(0)
500
+ uncompletedPlans: import_zod5.z.number().int().min(0).default(0),
501
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
502
+ onboardingCompletedAt: import_zod5.z.string().datetime().nullable().default(null),
503
+ locationConsentStatus: LocationConsentStatusSchema.default("UNKNOWN"),
504
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean().default(false)
281
505
  });
282
506
  var FoodPreferenceItemSchema = FoodSchema.extend({});
283
507
  var MemberFoodPreferenceSchema = import_zod5.z.object({
@@ -292,9 +516,16 @@ var UpdateProfileRequestSchema = import_zod5.z.object({
292
516
  bio: import_zod5.z.string().max(500).nullable()
293
517
  });
294
518
  var UpdatePreferenceRequestSchema = MemberFoodPreferenceSchema;
295
- var CreateProfileRequestSchema = UpdateProfileRequestSchema.merge(
296
- UpdatePreferenceRequestSchema
297
- );
519
+ var CompleteOnboardingRequestSchema = UpdateProfileRequestSchema.merge(UpdatePreferenceRequestSchema);
520
+ var OnboardingDraftSchema = import_zod5.z.object({
521
+ username: import_zod5.z.string().min(1).max(50).optional(),
522
+ profileImageUrl: import_zod5.z.string().url().nullable().optional(),
523
+ bio: import_zod5.z.string().max(500).nullable().optional(),
524
+ liked: import_zod5.z.array(FoodPreferenceItemSchema).optional(),
525
+ disliked: import_zod5.z.array(FoodPreferenceItemSchema).optional(),
526
+ allergy: import_zod5.z.array(FoodPreferenceItemSchema).optional()
527
+ });
528
+ var CreateProfileRequestSchema = CompleteOnboardingRequestSchema;
298
529
 
299
530
  // src/domain/restaurant/restaurant.schema.ts
300
531
  var import_zod6 = require("zod");
@@ -326,7 +557,11 @@ var KakaoPlaceRawSchema = import_zod6.z.object({
326
557
  });
327
558
 
328
559
  // src/domain/article/article.schema.ts
329
- var ArticleSortBySchema = import_zod7.z.enum(["createdAt", "likeCount", "commentCount"]);
560
+ var ArticleSortBySchema = import_zod7.z.enum([
561
+ "createdAt",
562
+ "likeCount",
563
+ "commentCount"
564
+ ]);
330
565
  var ArticleListQuerySchema = PageQuerySchema.extend({
331
566
  sortBy: ArticleSortBySchema.optional().default("createdAt"),
332
567
  direction: SortDirectionSchema.optional().default("desc")
@@ -342,7 +577,8 @@ var CreateArticleRequestSchema = import_zod7.z.object({
342
577
  mealDate: ISODateStringSchema,
343
578
  restaurant: RestaurantSchema,
344
579
  taggedMemberIds: import_zod7.z.array(MemberIdSchema).default([]),
345
- foodAnalysis: FoodAnalysisResultSchema.optional()
580
+ foodAnalysis: FoodAnalysisResultSchema.optional(),
581
+ mealPlanId: MealPlanIdSchema.optional()
346
582
  });
347
583
  var CreateCommentRequestSchema = import_zod7.z.object({
348
584
  content: import_zod7.z.string().min(1).max(500),
@@ -362,6 +598,7 @@ var ArticleCoreSchema = import_zod7.z.object({
362
598
  imageUrl: import_zod7.z.string().url(),
363
599
  mealDate: ISODateStringSchema,
364
600
  restaurant: RestaurantSchema,
601
+ mealPlanId: MealPlanIdSchema.nullable(),
365
602
  createdAt: ISODateTimeStringSchema,
366
603
  updatedAt: ISODateTimeStringSchema,
367
604
  expiresAt: ISODateTimeStringSchema,
@@ -401,65 +638,145 @@ var SignupResponseSchema = import_zod8.z.object({
401
638
  });
402
639
 
403
640
  // src/domain/common/contracts/api.ts
404
- var import_zod20 = require("zod");
641
+ var import_zod28 = require("zod");
405
642
 
406
- // src/domain/promotion/challenge.schema.ts
643
+ // src/domain/common/schema/cache-invalidation.schema.ts
407
644
  var import_zod9 = require("zod");
408
- var RewardTypeSchema = import_zod9.z.enum(["WEEK", "MONTH"]);
409
- var WeekProgressSchema = import_zod9.z.object({
410
- days: import_zod9.z.array(import_zod9.z.boolean()),
411
- completed: import_zod9.z.number().int().min(0),
412
- goal: import_zod9.z.number().int().positive()
413
- });
414
- var MonthProgressSchema = import_zod9.z.object({
415
- count: import_zod9.z.number().int().min(0),
416
- goal: import_zod9.z.number().int().positive()
417
- });
418
- var ChallengeStatusResponseSchema = import_zod9.z.object({
419
- week: WeekProgressSchema,
420
- month: MonthProgressSchema,
421
- weekRewardAvailable: import_zod9.z.boolean(),
422
- monthRewardAvailable: import_zod9.z.boolean()
423
- });
424
- var ClaimChallengeRewardRequestSchema = import_zod9.z.object({
425
- type: RewardTypeSchema
426
- });
427
- var ClaimChallengeRewardResponseSchema = import_zod9.z.object({
428
- rewardType: RewardTypeSchema,
429
- claimed: import_zod9.z.boolean()
645
+ var CacheInvalidationEntitySchema = import_zod9.z.enum([
646
+ "article",
647
+ "mealPlan",
648
+ "mealPlanInvite",
649
+ "mealPlanParticipant",
650
+ "mealPlanDecision",
651
+ "mealPlanChat",
652
+ "mealGroup",
653
+ "notification",
654
+ "friend"
655
+ ]);
656
+ var CacheInvalidationActionSchema = import_zod9.z.enum([
657
+ "created",
658
+ "updated",
659
+ "deleted",
660
+ "accepted",
661
+ "rejected",
662
+ "cancelled",
663
+ "closed",
664
+ "joined",
665
+ "ready",
666
+ "confirmed",
667
+ "locked",
668
+ "completed",
669
+ "recorded",
670
+ "read"
671
+ ]);
672
+ var CacheInvalidationKeySchema = import_zod9.z.enum([
673
+ "articles",
674
+ "mealPlans",
675
+ "mealPlanDetail",
676
+ "mealPlanInvites",
677
+ "mealPlanJoinRequests",
678
+ "mealPlanNearbyFriends",
679
+ "mealPlanMessages",
680
+ "mealGroups",
681
+ "notifications",
682
+ "friends",
683
+ "friendMeals"
684
+ ]);
685
+ var CacheInvalidationEventSchema = import_zod9.z.object({
686
+ type: import_zod9.z.literal("cache.invalidate"),
687
+ entity: CacheInvalidationEntitySchema,
688
+ action: CacheInvalidationActionSchema,
689
+ id: import_zod9.z.union([
690
+ import_zod9.z.string(),
691
+ import_zod9.z.number()
692
+ ]).optional(),
693
+ keys: import_zod9.z.array(CacheInvalidationKeySchema).min(1),
694
+ occurredAt: import_zod9.z.string().datetime()
430
695
  });
431
696
 
432
697
  // src/domain/common/schema/envelope.schema.ts
433
698
  var import_zod10 = require("zod");
434
699
  var NoContentSchema = import_zod10.z.null();
435
- var ApiSuccessSchema = (data) => import_zod10.z.object({
700
+ var ApiSuccessSchema = /* @__PURE__ */ __name((data) => import_zod10.z.object({
436
701
  success: import_zod10.z.literal(true),
437
702
  code: import_zod10.z.number().int(),
438
703
  message: import_zod10.z.string(),
439
704
  data
440
- });
705
+ }), "ApiSuccessSchema");
441
706
  var ApiFailureSchema = import_zod10.z.object({
442
707
  success: import_zod10.z.literal(false),
443
708
  status: import_zod10.z.number().int(),
444
709
  code: import_zod10.z.string(),
445
710
  message: import_zod10.z.string()
446
711
  });
447
- var ApiResponseSchema = (data) => import_zod10.z.union([ApiSuccessSchema(data), ApiFailureSchema]);
712
+ var ApiResponseSchema = /* @__PURE__ */ __name((data) => import_zod10.z.union([
713
+ ApiSuccessSchema(data),
714
+ ApiFailureSchema
715
+ ]), "ApiResponseSchema");
448
716
  var CreatedEntityIdResponseSchema = import_zod10.z.discriminatedUnion("entity", [
449
- import_zod10.z.object({ entity: import_zod10.z.literal("article"), id: ArticleIdSchema }),
450
- import_zod10.z.object({ entity: import_zod10.z.literal("comment"), id: CommentIdSchema }),
451
- import_zod10.z.object({ entity: import_zod10.z.literal("recruit"), id: RecruitIdSchema }),
452
- import_zod10.z.object({ entity: import_zod10.z.literal("invitation"), id: InvitationIdSchema }),
453
- import_zod10.z.object({ entity: import_zod10.z.literal("subscription"), id: SubscriptionIdSchema }),
454
- import_zod10.z.object({ entity: import_zod10.z.literal("coupon"), id: CouponIdSchema }),
455
- import_zod10.z.object({ entity: import_zod10.z.literal("plan"), id: PlanIdSchema })
717
+ import_zod10.z.object({
718
+ entity: import_zod10.z.literal("article"),
719
+ id: ArticleIdSchema
720
+ }),
721
+ import_zod10.z.object({
722
+ entity: import_zod10.z.literal("comment"),
723
+ id: CommentIdSchema
724
+ }),
725
+ import_zod10.z.object({
726
+ entity: import_zod10.z.literal("subscription"),
727
+ id: SubscriptionIdSchema
728
+ }),
729
+ import_zod10.z.object({
730
+ entity: import_zod10.z.literal("coupon"),
731
+ id: CouponIdSchema
732
+ }),
733
+ import_zod10.z.object({
734
+ entity: import_zod10.z.literal("mealPlan"),
735
+ id: MealPlanIdSchema
736
+ }),
737
+ import_zod10.z.object({
738
+ entity: import_zod10.z.literal("mealPlanInvite"),
739
+ id: MealPlanInviteIdSchema
740
+ }),
741
+ import_zod10.z.object({
742
+ entity: import_zod10.z.literal("mealPlanJoinRequest"),
743
+ id: MealPlanJoinRequestIdSchema
744
+ }),
745
+ import_zod10.z.object({
746
+ entity: import_zod10.z.literal("mealPlanChangeRequest"),
747
+ id: MealPlanChangeRequestIdSchema
748
+ }),
749
+ import_zod10.z.object({
750
+ entity: import_zod10.z.literal("mealPlanShareLink"),
751
+ id: MealPlanShareLinkIdSchema
752
+ }),
753
+ import_zod10.z.object({
754
+ entity: import_zod10.z.literal("mealPlanChatMessage"),
755
+ id: MealPlanChatMessageIdSchema
756
+ }),
757
+ import_zod10.z.object({
758
+ entity: import_zod10.z.literal("mealGroup"),
759
+ id: MealGroupIdSchema
760
+ })
456
761
  ]);
457
762
 
458
763
  // src/domain/friend/friend.schema.ts
459
764
  var import_zod11 = require("zod");
460
- var FriendRequestStatusSchema = import_zod11.z.enum(["PENDING", "ACCEPTED", "REJECTED", "CANCELED"]);
765
+ var FriendRequestStatusSchema = import_zod11.z.enum([
766
+ "PENDING",
767
+ "ACCEPTED",
768
+ "REJECTED",
769
+ "CANCELED"
770
+ ]);
771
+ var FriendMealAvailabilitySchema = import_zod11.z.object({
772
+ isHungry: import_zod11.z.boolean(),
773
+ mealProposalAllowed: import_zod11.z.boolean(),
774
+ mealStatusExpiresAt: ISODateTimeStringSchema.nullable(),
775
+ nearbyMealPlanExposureAllowed: import_zod11.z.boolean()
776
+ });
461
777
  var FriendListItemResponseSchema = MemberCoreSchema.extend({
462
- friendSince: ISODateTimeStringSchema
778
+ friendSince: ISODateTimeStringSchema,
779
+ mealAvailability: FriendMealAvailabilitySchema.optional()
463
780
  });
464
781
  var FriendBlockItemResponseSchema = MemberCoreSchema.extend({
465
782
  blockedAt: ISODateTimeStringSchema
@@ -475,456 +792,2212 @@ var FriendRequestItemResponseSchema = import_zod11.z.object({
475
792
  var FriendSearchQuerySchema = import_zod11.z.string().min(1).max(50);
476
793
  var FriendSearchResponseSchema = import_zod11.z.array(MemberCoreSchema);
477
794
 
478
- // src/domain/invitation/invitation.schema.ts
479
- var import_zod12 = require("zod");
480
- var CreateInvitationRequestSchema = import_zod12.z.object({
481
- inviteeId: MemberIdSchema,
482
- message: import_zod12.z.string().min(1).max(500)
483
- });
484
- var InvitationListItemResponseSchema = import_zod12.z.object({
485
- invitationId: InvitationIdSchema,
486
- inviterName: import_zod12.z.string(),
487
- inviterProfileImageUrl: import_zod12.z.string().url().nullable().optional()
488
- });
489
- var SendInvitationResponseSchema = import_zod12.z.object({
490
- invitationId: InvitationIdSchema
491
- });
492
- var AcceptInvitationResponseSchema = import_zod12.z.object({
493
- invitationId: InvitationIdSchema,
494
- room: import_zod12.z.object({
495
- type: import_zod12.z.literal("invitation"),
496
- roomId: RoomIdSchema
497
- })
498
- });
499
-
500
795
  // src/domain/meal/meal.schema.ts
501
- var import_zod13 = require("zod");
502
- var MealStatusResponseSchema = import_zod13.z.object({
503
- hungry: import_zod13.z.boolean(),
504
- label: import_zod13.z.string(),
796
+ var import_zod12 = require("zod");
797
+ var MealStatusResponseSchema = import_zod12.z.object({
798
+ hungry: import_zod12.z.boolean(),
799
+ label: import_zod12.z.string(),
505
800
  updatedAt: ISODateStringSchema,
506
- secondsToAutoOff: import_zod13.z.number().int().min(0)
801
+ secondsToAutoOff: import_zod12.z.number().int().min(0)
507
802
  });
508
- var MealStatusActionSchema = import_zod13.z.enum(["ARTICLE_UPLOAD", "SET_MANNUALY"]);
509
- var UpdateMealStatusRequestSchema = import_zod13.z.object({
803
+ var MealStatusActionSchema = import_zod12.z.enum([
804
+ "ARTICLE_UPLOAD",
805
+ "SET_MANNUALY"
806
+ ]);
807
+ var UpdateMealStatusRequestSchema = import_zod12.z.object({
510
808
  action: MealStatusActionSchema.optional().default("SET_MANNUALY")
511
809
  });
512
- var MealStatusSchema = import_zod13.z.enum(["ALL", "HUNGRY", "NOT_HUNGRY"]);
513
- var FriendMealQuerySchema = import_zod13.z.object({
810
+ var MealStatusSchema = import_zod12.z.enum([
811
+ "ALL",
812
+ "HUNGRY",
813
+ "NOT_HUNGRY"
814
+ ]);
815
+ var FriendMealQuerySchema = import_zod12.z.object({
514
816
  status: MealStatusSchema.optional().default("ALL")
515
817
  });
516
818
  var FriendMealItemResponseSchema = MemberCoreSchema.extend({
517
- hungry: import_zod13.z.boolean(),
518
- label: import_zod13.z.string(),
819
+ hungry: import_zod12.z.boolean(),
820
+ label: import_zod12.z.string(),
519
821
  updatedAt: ISODateStringSchema
520
822
  });
521
823
 
522
- // src/domain/plan/plan.schema.ts
523
- var import_zod15 = require("zod");
824
+ // src/domain/meal-plan/meal-plan.schema.ts
825
+ var import_zod18 = require("zod");
524
826
 
525
- // src/domain/room/schema/room.schema.ts
526
- var import_zod14 = require("zod");
527
- var MenuCodeSchema = FoodCodeSchema;
528
- var LocationIdSchema = import_zod14.z.string().min(1).brand();
529
- var MenuSchema = FoodSchema.extend({});
530
- var LocationCandidateSchema = import_zod14.z.object({
531
- locationId: LocationIdSchema,
532
- placeName: import_zod14.z.string(),
533
- lat: import_zod14.z.number(),
534
- lng: import_zod14.z.number(),
535
- address: import_zod14.z.string()
536
- });
537
- var ParticipantSchema = MemberCoreSchema.extend({
538
- ready: import_zod14.z.boolean()
539
- });
540
- var RecruitRoomStageSchema = import_zod14.z.enum([
541
- "waiting",
542
- "location",
543
- "location-vote",
544
- "exclude-menu",
545
- "menu",
546
- "restaurant",
547
- "finish"
827
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
828
+ var import_zod13 = require("zod");
829
+ var MealPlanLatitudeSchema = import_zod13.z.number().brand();
830
+ var MealPlanLongitudeSchema = import_zod13.z.number().brand();
831
+ var MealPlanLocationCandidateIdSchema = import_zod13.z.string().min(1).brand();
832
+ var MealPlanMenuCandidateIdSchema = import_zod13.z.string().min(1).brand();
833
+ var MealPlanDecisionStageIdSchema = import_zod13.z.string().uuid().brand();
834
+ var MealPlanVoteIdSchema = import_zod13.z.string().uuid().brand();
835
+ var MealPlanLocationCandidateSourceSchema = import_zod13.z.enum([
836
+ "manual",
837
+ "midpoint",
838
+ "search",
839
+ "recent-place",
840
+ "fallback"
841
+ ]);
842
+ var MealPlanLocationCandidateSchema = import_zod13.z.object({
843
+ locationId: MealPlanLocationCandidateIdSchema,
844
+ placeName: import_zod13.z.string().min(1),
845
+ lat: MealPlanLatitudeSchema,
846
+ lng: MealPlanLongitudeSchema,
847
+ address: import_zod13.z.string().default(""),
848
+ source: MealPlanLocationCandidateSourceSchema.default("manual"),
849
+ createdBy: MemberIdSchema.optional(),
850
+ createdAt: ISODateTimeStringSchema.optional()
851
+ });
852
+ var MealPlanMenuCandidateSourceSchema = import_zod13.z.enum([
853
+ "external-recommendation",
854
+ "prefer-menu",
855
+ "recent-menu",
856
+ "fallback",
857
+ "manual-search"
858
+ ]);
859
+ var MealPlanMenuCandidateSchema = import_zod13.z.object({
860
+ menuCandidateId: MealPlanMenuCandidateIdSchema,
861
+ menu: FoodSchema,
862
+ source: MealPlanMenuCandidateSourceSchema,
863
+ score: import_zod13.z.number().default(0),
864
+ createdAt: ISODateTimeStringSchema
865
+ });
866
+ var MealPlanRestaurantCandidateSchema = RestaurantSchema.extend({
867
+ candidateId: RestaurantIdSchema.optional(),
868
+ source: import_zod13.z.enum([
869
+ "search",
870
+ "fallback",
871
+ "manual"
872
+ ]).optional(),
873
+ createdAt: ISODateTimeStringSchema.optional()
874
+ });
875
+ var MealPlanDecisionStageTypeSchema = import_zod13.z.enum([
876
+ "DATE",
877
+ "TIME",
878
+ "AREA",
879
+ "MENU",
880
+ "RESTAURANT",
881
+ "FINAL_CONFIRMATION"
882
+ ]);
883
+ var MealPlanDecisionStageStatusSchema = import_zod13.z.enum([
884
+ "OPEN",
885
+ "COMPLETED",
886
+ "REOPENED"
887
+ ]);
888
+ var MealPlanRestaurantSearchStatusSchema = import_zod13.z.enum([
889
+ "IDLE",
890
+ "PENDING",
891
+ "READY",
892
+ "FAILED",
893
+ "STALE"
894
+ ]);
895
+ var MealPlanRestaurantSearchStateSchema = import_zod13.z.object({
896
+ searchKey: import_zod13.z.string().min(1).nullable(),
897
+ status: MealPlanRestaurantSearchStatusSchema,
898
+ startedAt: ISODateTimeStringSchema.nullable(),
899
+ completedAt: ISODateTimeStringSchema.nullable(),
900
+ version: import_zod13.z.number().int().min(0),
901
+ candidateCount: import_zod13.z.number().int().min(0),
902
+ errorMessage: import_zod13.z.string().nullable().default(null)
903
+ });
904
+ var MealPlanDecisionStageMetadataSchema = import_zod13.z.object({
905
+ restaurantSearch: MealPlanRestaurantSearchStateSchema.optional()
906
+ }).catchall(import_zod13.z.unknown());
907
+ var MealPlanVoteTypeSchema = import_zod13.z.enum([
908
+ "PICK",
909
+ "EXCLUDE",
910
+ "PREFER",
911
+ "READY"
912
+ ]);
913
+ var MealPlanDecisionCandidateSchema = import_zod13.z.discriminatedUnion("stageType", [
914
+ import_zod13.z.object({
915
+ stageType: import_zod13.z.literal("DATE"),
916
+ value: ISODateStringSchema
917
+ }),
918
+ import_zod13.z.object({
919
+ stageType: import_zod13.z.literal("TIME"),
920
+ value: TimeHHmmStringSchema
921
+ }),
922
+ import_zod13.z.object({
923
+ stageType: import_zod13.z.literal("AREA"),
924
+ value: MealPlanLocationCandidateSchema
925
+ }),
926
+ import_zod13.z.object({
927
+ stageType: import_zod13.z.literal("MENU"),
928
+ value: MealPlanMenuCandidateSchema
929
+ }),
930
+ import_zod13.z.object({
931
+ stageType: import_zod13.z.literal("RESTAURANT"),
932
+ value: MealPlanRestaurantCandidateSchema
933
+ }),
934
+ import_zod13.z.object({
935
+ stageType: import_zod13.z.literal("FINAL_CONFIRMATION"),
936
+ value: import_zod13.z.literal("READY")
937
+ })
938
+ ]);
939
+ var MealPlanVoteSchema = import_zod13.z.object({
940
+ voteId: MealPlanVoteIdSchema,
941
+ voterId: MemberIdSchema.nullable(),
942
+ guestId: import_zod13.z.string().min(1).nullable(),
943
+ voteType: MealPlanVoteTypeSchema,
944
+ candidate: MealPlanDecisionCandidateSchema,
945
+ createdAt: ISODateTimeStringSchema
946
+ });
947
+ var MealPlanDecisionStageResponseSchema = import_zod13.z.object({
948
+ stageId: MealPlanDecisionStageIdSchema,
949
+ stageType: MealPlanDecisionStageTypeSchema,
950
+ status: MealPlanDecisionStageStatusSchema,
951
+ candidates: import_zod13.z.array(MealPlanDecisionCandidateSchema),
952
+ votes: import_zod13.z.array(MealPlanVoteSchema),
953
+ selectedCandidate: MealPlanDecisionCandidateSchema.nullable(),
954
+ metadata: MealPlanDecisionStageMetadataSchema.nullable().default(null),
955
+ openedAt: ISODateTimeStringSchema,
956
+ completedAt: ISODateTimeStringSchema.nullable(),
957
+ reopenedAt: ISODateTimeStringSchema.nullable()
958
+ });
959
+ var CreateMealPlanVoteRequestSchema = import_zod13.z.object({
960
+ voteType: MealPlanVoteTypeSchema,
961
+ candidate: MealPlanDecisionCandidateSchema
962
+ });
963
+ var CompleteMealPlanDecisionStageRequestSchema = import_zod13.z.object({
964
+ selectedCandidate: MealPlanDecisionCandidateSchema
965
+ });
966
+ var MealPlanChangeRequestStatusSchema = import_zod13.z.enum([
967
+ "PENDING",
968
+ "ACCEPTED",
969
+ "REJECTED",
970
+ "CANCELLED"
971
+ ]);
972
+ var CreateMealPlanChangeRequestSchema = import_zod13.z.object({
973
+ stageType: MealPlanDecisionStageTypeSchema,
974
+ reason: import_zod13.z.string().min(1).max(500),
975
+ proposedCandidate: MealPlanDecisionCandidateSchema.optional()
976
+ });
977
+ var MealPlanChangeRequestSummarySchema = import_zod13.z.object({
978
+ changeRequestId: MealPlanChangeRequestIdSchema,
979
+ stageType: MealPlanDecisionStageTypeSchema,
980
+ status: MealPlanChangeRequestStatusSchema,
981
+ reason: import_zod13.z.string(),
982
+ requestedAt: ISODateTimeStringSchema
983
+ });
984
+ var MealPlanDecisionTaskKeySchema = import_zod13.z.enum([
985
+ "SCHEDULE_DATE",
986
+ "SCHEDULE_TIME",
987
+ "LOCATION_CANDIDATE",
988
+ "LOCATION_VOTE",
989
+ "EXCLUDE_MENU",
990
+ "PREFER_MENU",
991
+ "MENU_PICK",
992
+ "RESTAURANT_SEARCH",
993
+ "RESTAURANT_PICK",
994
+ "FINAL_CONFIRMATION"
548
995
  ]);
549
- var RoomTypeSchema = import_zod14.z.enum(["recruit", "invitation"]);
550
- var InvitationRoomStageSchema = import_zod14.z.enum([
551
- "waiting",
996
+ var MealPlanDecisionTaskStatusSchema = import_zod13.z.enum([
997
+ "LOCKED",
998
+ "OPEN",
999
+ "READY",
1000
+ "RESOLVED",
1001
+ "STALE"
1002
+ ]);
1003
+ var MealPlanDecisionFinalFieldSchema = import_zod13.z.enum([
552
1004
  "date",
553
1005
  "time",
554
- "location",
555
- "location-vote",
556
- "exclude-menu",
1006
+ "meetingAt",
1007
+ "area",
557
1008
  "menu",
558
- "restaurant",
559
- "finish"
560
- ]);
561
- var ReadyStateRequestSchema = import_zod14.z.object({
562
- isReady: import_zod14.z.boolean()
563
- });
564
- var ChatMessageRequestSchema = import_zod14.z.object({
565
- message: import_zod14.z.string().min(1).max(500)
566
- });
567
- var AddLocationCandidateRequestSchema = LocationCandidateSchema;
568
- var VoteLocationRequestSchema = import_zod14.z.object({ locationId: LocationIdSchema });
569
- var ExcludeMenuRequestSchema = import_zod14.z.object({ menu: MenuSchema });
570
- var PickMenuRequestSchema = import_zod14.z.object({ menuCode: MenuCodeSchema });
571
- var PickRestaurantRequestSchema = import_zod14.z.object({ restaurantId: RestaurantIdSchema });
572
- var PickTimesRequestSchema = import_zod14.z.object({ times: import_zod14.z.array(import_zod14.z.string().min(1)).min(1) });
573
- var PickDateRequestSchema = import_zod14.z.object({ dates: import_zod14.z.array(ISODateStringSchema).min(1) });
574
- var RoomAssignedResponseSchema = import_zod14.z.object({
575
- roomId: RoomIdSchema
576
- });
577
- var RoomAccessResponseSchema = import_zod14.z.object({
578
- roomId: RoomIdSchema,
579
- roomType: RoomTypeSchema,
580
- stage: import_zod14.z.union([RecruitRoomStageSchema, InvitationRoomStageSchema]),
581
- canJoin: import_zod14.z.boolean()
582
- });
583
- var MatchingNotificationKindSchema = import_zod14.z.enum(["recruit", "invitation"]);
584
- var MatchingNotificationSchema = import_zod14.z.object({
585
- notificationId: import_zod14.z.string().min(1),
586
- kind: MatchingNotificationKindSchema,
587
- roomId: RoomIdSchema,
588
- roomType: RoomTypeSchema,
589
- title: import_zod14.z.string().min(1),
590
- message: import_zod14.z.string().min(1),
1009
+ "restaurant"
1010
+ ]);
1011
+ var MealPlanDecisionSnapshotStatusSchema = import_zod13.z.enum([
1012
+ "CANDIDATE",
1013
+ "PROVISIONAL",
1014
+ "FINAL",
1015
+ "STALE"
1016
+ ]);
1017
+ var MealPlanDecisionReasonSchema = import_zod13.z.enum([
1018
+ "COMMON_SCHEDULE",
1019
+ "TOP_VOTED_LOCATION",
1020
+ "TOP_PICKED_MENU",
1021
+ "TOP_PICKED_RESTAURANT",
1022
+ "OWNER_CONFIRMED",
1023
+ "TASK_ALL_READY",
1024
+ "MANUAL_SELECTION"
1025
+ ]);
1026
+ var MealPlanDecisionActorTypeSchema = import_zod13.z.enum([
1027
+ "MEMBER",
1028
+ "GUEST",
1029
+ "SYSTEM"
1030
+ ]);
1031
+ var MealPlanDecisionSnapshotSchema = import_zod13.z.object({
1032
+ snapshotId: import_zod13.z.string().uuid(),
1033
+ mealPlanId: import_zod13.z.string().uuid(),
1034
+ field: MealPlanDecisionFinalFieldSchema,
1035
+ value: import_zod13.z.unknown(),
1036
+ status: MealPlanDecisionSnapshotStatusSchema,
1037
+ reason: MealPlanDecisionReasonSchema,
1038
+ score: import_zod13.z.number().nullable().default(null),
1039
+ sourceEvent: import_zod13.z.string().min(1),
1040
+ sourceActorType: MealPlanDecisionActorTypeSchema,
1041
+ sourceMemberId: MemberIdSchema.nullable(),
1042
+ sourceGuestId: import_zod13.z.string().min(1).nullable(),
1043
+ sourceParticipantId: import_zod13.z.string().uuid().nullable(),
1044
+ sourceVersion: import_zod13.z.number().int().min(0),
1045
+ dependencyHash: import_zod13.z.string().min(1),
1046
+ dependencyFields: import_zod13.z.array(MealPlanDecisionFinalFieldSchema),
591
1047
  createdAt: ISODateTimeStringSchema,
592
- readAt: ISODateTimeStringSchema.nullable()
1048
+ staleAt: ISODateTimeStringSchema.nullable()
1049
+ });
1050
+ var MealPlanDecisionTaskProgressSchema = import_zod13.z.object({
1051
+ taskKey: MealPlanDecisionTaskKeySchema,
1052
+ status: MealPlanDecisionTaskStatusSchema,
1053
+ readyCount: import_zod13.z.number().int().min(0),
1054
+ participantCount: import_zod13.z.number().int().min(0),
1055
+ blockers: import_zod13.z.array(import_zod13.z.string()).default([]),
1056
+ updatedAt: ISODateTimeStringSchema
593
1057
  });
594
- var RoomSocketErrorSchema = import_zod14.z.object({
595
- code: import_zod14.z.string(),
596
- message: import_zod14.z.string()
1058
+ var MealPlanDecisionProgressSchema = import_zod13.z.object({
1059
+ mealPlanId: import_zod13.z.string().uuid(),
1060
+ status: import_zod13.z.string().min(1),
1061
+ tasks: import_zod13.z.array(MealPlanDecisionTaskProgressSchema),
1062
+ final: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown()),
1063
+ provisional: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown()),
1064
+ snapshots: import_zod13.z.array(MealPlanDecisionSnapshotSchema),
1065
+ version: import_zod13.z.number().int().min(0),
1066
+ updatedAt: ISODateTimeStringSchema
597
1067
  });
598
- var ChatMessageResponseSchema = import_zod14.z.object({
599
- messageId: import_zod14.z.string(),
600
- user: MemberCoreSchema,
601
- message: import_zod14.z.string(),
602
- createdAt: ISODateTimeStringSchema
1068
+ var MealPlanDecisionTaskReadyRequestSchema = import_zod13.z.object({
1069
+ isReady: import_zod13.z.boolean()
1070
+ });
1071
+ var ReopenMealPlanDecisionTaskRequestSchema = import_zod13.z.object({
1072
+ reason: import_zod13.z.string().max(500).optional()
1073
+ });
1074
+ var ConfirmMealPlanDecisionSnapshotRequestSchema = import_zod13.z.object({
1075
+ snapshotId: import_zod13.z.string().uuid()
603
1076
  });
604
- var ReadyStateChangedSchema = import_zod14.z.object({
605
- readyCount: import_zod14.z.number().int().min(0),
606
- participantCount: import_zod14.z.number().int().min(0)
607
- });
608
- var FinalStateSchema = import_zod14.z.object({
609
- location: LocationCandidateSchema.optional(),
610
- excludeMenu: import_zod14.z.array(MenuSchema).optional(),
611
- menu: MenuSchema.optional(),
612
- restaurant: RestaurantSchema.optional(),
613
- time: import_zod14.z.string().optional(),
614
- date: ISODateStringSchema.optional()
615
- });
616
- var RoomInitialStateSchema = import_zod14.z.object({
617
- participants: import_zod14.z.array(ParticipantSchema),
618
- chat: import_zod14.z.array(ChatMessageResponseSchema),
619
- final: FinalStateSchema
620
- });
621
- var TimePicksUpdateResponseSchema = import_zod14.z.array(
622
- import_zod14.z.object({ memberId: MemberIdSchema, times: import_zod14.z.array(import_zod14.z.string()) })
623
- );
624
- var DatePicksUpdateResponseSchema = import_zod14.z.array(
625
- import_zod14.z.object({ memberId: MemberIdSchema, dates: import_zod14.z.array(ISODateStringSchema) })
626
- );
627
- var LocationCandidateAddUpdateResponseSchema = import_zod14.z.array(
628
- LocationCandidateSchema.extend({ authorMemberId: MemberIdSchema })
629
- );
630
- var LocationCandidateVoteUpdateResponseSchema = import_zod14.z.array(
631
- import_zod14.z.object({ locationId: LocationIdSchema, votes: import_zod14.z.array(MemberIdSchema) })
632
- );
633
- var ExcludeMenuUpdateResponseSchema = import_zod14.z.array(
634
- import_zod14.z.object({ memberId: MemberIdSchema, exclusions: import_zod14.z.array(MenuSchema) })
635
- );
636
- var MenuPickUpdateResponseSchema = import_zod14.z.array(
637
- import_zod14.z.object({ menuCode: MenuCodeSchema, selectedMembers: import_zod14.z.array(MemberIdSchema) })
638
- );
639
- var RestaurantPickUpdateResponseSchema = import_zod14.z.array(
640
- import_zod14.z.object({ restaurantId: RestaurantIdSchema, selectedMembers: import_zod14.z.array(MemberIdSchema) })
641
- );
642
- var WaitingPhaseDataSchema = import_zod14.z.object({
643
- locationInitial: import_zod14.z.string().optional(),
644
- meetingAt: ISODateTimeStringSchema.optional()
645
- });
646
- var LocationVotePhaseDataSchema = import_zod14.z.object({
647
- locations: LocationCandidateAddUpdateResponseSchema,
648
- votes: LocationCandidateVoteUpdateResponseSchema
649
- });
650
- var ExcludeMenuPhaseDataSchema = import_zod14.z.object({
651
- recentMenus: import_zod14.z.array(import_zod14.z.object({ userId: import_zod14.z.string(), menuList: import_zod14.z.array(MenuSchema) })),
652
- excludedMenuList: ExcludeMenuUpdateResponseSchema
653
- });
654
- var MenuPhaseDataSchema = import_zod14.z.object({
655
- initialMenus: import_zod14.z.array(MenuSchema),
656
- menuPick: MenuPickUpdateResponseSchema
657
- });
658
- var RestaurantPhaseDataSchema = import_zod14.z.object({
659
- initialRestaurants: import_zod14.z.array(RestaurantSchema),
660
- restaurantUserList: RestaurantPickUpdateResponseSchema
661
- });
662
- var PhaseDataBroadcastSchema = import_zod14.z.discriminatedUnion("phase", [
663
- import_zod14.z.object({ phase: import_zod14.z.literal("waiting"), data: WaitingPhaseDataSchema }),
664
- import_zod14.z.object({ phase: import_zod14.z.literal("date"), data: DatePicksUpdateResponseSchema }),
665
- import_zod14.z.object({ phase: import_zod14.z.literal("time"), data: TimePicksUpdateResponseSchema }),
666
- import_zod14.z.object({ phase: import_zod14.z.literal("location"), data: WaitingPhaseDataSchema }),
667
- import_zod14.z.object({ phase: import_zod14.z.literal("location-vote"), data: LocationVotePhaseDataSchema }),
668
- import_zod14.z.object({ phase: import_zod14.z.literal("exclude-menu"), data: ExcludeMenuPhaseDataSchema }),
669
- import_zod14.z.object({ phase: import_zod14.z.literal("menu"), data: MenuPhaseDataSchema }),
670
- import_zod14.z.object({ phase: import_zod14.z.literal("restaurant"), data: RestaurantPhaseDataSchema }),
671
- import_zod14.z.object({ phase: import_zod14.z.literal("finish"), data: WaitingPhaseDataSchema })
672
- ]);
673
- var RoomSocketClientEventSchemas = {
674
- "ready-state": ReadyStateRequestSchema,
675
- "chat-message": ChatMessageRequestSchema,
676
- "add-location-candidate": AddLocationCandidateRequestSchema,
677
- "vote-location": VoteLocationRequestSchema,
678
- "exclude-menu": ExcludeMenuRequestSchema,
679
- "pick-menu": PickMenuRequestSchema,
680
- "pick-restaurant": PickRestaurantRequestSchema,
681
- "pick-times": PickTimesRequestSchema,
682
- "pick-date": PickDateRequestSchema
683
- };
684
- var RoomSocketServerEventSchemas = {
685
- "room-assigned": RoomAssignedResponseSchema,
686
- "stage-changed": PhaseDataBroadcastSchema,
687
- "chat-message": ChatMessageResponseSchema,
688
- "room-error": RoomSocketErrorSchema,
689
- "ready-state-changed": ReadyStateChangedSchema,
690
- "join-room": RoomInitialStateSchema,
691
- "time-updated": TimePicksUpdateResponseSchema,
692
- "date-updated": DatePicksUpdateResponseSchema,
693
- "location-add-updated": LocationCandidateAddUpdateResponseSchema,
694
- "location-vote-updated": LocationCandidateVoteUpdateResponseSchema,
695
- "exclude-menu-updated": ExcludeMenuUpdateResponseSchema,
696
- "menu-pick-updated": MenuPickUpdateResponseSchema,
697
- "restaurant-pick-updated": RestaurantPickUpdateResponseSchema,
698
- "final-state-response": FinalStateSchema
699
- };
700
1077
 
701
- // src/domain/plan/plan.schema.ts
702
- var PlanStatusSchema = import_zod15.z.enum(["PLANNING", "COMPLETED"]);
703
- var PlanTypeSchema = import_zod15.z.enum(["RECRUIT", "INVITATION"]);
704
- var PlanResponseSchema = import_zod15.z.object({
705
- planId: PlanIdSchema,
706
- meetingAt: ISODateTimeStringSchema,
707
- location: LocationCandidateSchema.nullable(),
708
- restaurant: RestaurantSchema.nullable(),
709
- author: MemberCoreSchema,
710
- participants: import_zod15.z.array(MemberCoreSchema),
711
- status: PlanStatusSchema,
712
- type: PlanTypeSchema,
1078
+ // src/domain/meal-plan/meal-plan-participant.schema.ts
1079
+ var import_zod14 = require("zod");
1080
+ var MealPlanParticipantIdSchema = import_zod14.z.string().uuid().brand();
1081
+ var MealPlanParticipantRoleSchema = import_zod14.z.enum([
1082
+ "OWNER",
1083
+ "FRIEND",
1084
+ "GUEST"
1085
+ ]);
1086
+ var MealPlanParticipantStatusSchema = import_zod14.z.enum([
1087
+ "INVITED",
1088
+ "REQUESTED",
1089
+ "JOINED",
1090
+ "READY",
1091
+ "DECLINED",
1092
+ "LEFT",
1093
+ "REMOVED"
1094
+ ]);
1095
+ var MealPlanJoinSourceSchema = import_zod14.z.enum([
1096
+ "OWNER",
1097
+ "FRIEND_INVITE",
1098
+ "LINK_GUEST",
1099
+ "NEARBY_FRIENDS"
1100
+ ]);
1101
+ var MealPlanGuestParticipantSchema = import_zod14.z.object({
1102
+ guestId: import_zod14.z.string().min(1),
1103
+ nickname: import_zod14.z.string().min(1).max(50)
1104
+ });
1105
+ var MealPlanParticipantResponseSchema = import_zod14.z.object({
1106
+ participantId: MealPlanParticipantIdSchema,
1107
+ mealPlanId: MealPlanIdSchema,
1108
+ member: MemberCoreSchema.nullable(),
1109
+ guest: MealPlanGuestParticipantSchema.nullable(),
1110
+ role: MealPlanParticipantRoleSchema,
1111
+ status: MealPlanParticipantStatusSchema,
1112
+ source: MealPlanJoinSourceSchema,
1113
+ joinedAt: ISODateTimeStringSchema.nullable(),
1114
+ readyAt: ISODateTimeStringSchema.nullable()
1115
+ });
1116
+ var CreateMealPlanParticipantRequestSchema = import_zod14.z.object({
1117
+ memberId: MemberIdSchema.optional(),
1118
+ guestNickname: import_zod14.z.string().min(1).max(50).optional(),
1119
+ source: MealPlanJoinSourceSchema
1120
+ });
1121
+
1122
+ // src/domain/meal-plan/meal-plan-invite.schema.ts
1123
+ var import_zod15 = require("zod");
1124
+ var MealPlanInviteStatusSchema = import_zod15.z.enum([
1125
+ "PENDING",
1126
+ "ACCEPTED",
1127
+ "DECLINED",
1128
+ "CANCELLED",
1129
+ "EXPIRED"
1130
+ ]);
1131
+ var CreateMealPlanInviteRequestSchema = import_zod15.z.object({
1132
+ inviteeId: MemberIdSchema,
1133
+ message: import_zod15.z.string().max(500).default("")
1134
+ });
1135
+ var MealPlanInviteSummarySchema = import_zod15.z.object({
1136
+ inviteId: MealPlanInviteIdSchema,
1137
+ mealPlanId: MealPlanIdSchema,
1138
+ inviter: MemberCoreSchema,
1139
+ invitee: MemberCoreSchema,
1140
+ status: MealPlanInviteStatusSchema,
1141
+ message: import_zod15.z.string().max(500),
713
1142
  createdAt: ISODateTimeStringSchema,
714
- updatedAt: ISODateTimeStringSchema
1143
+ respondedAt: ISODateTimeStringSchema.nullable()
1144
+ });
1145
+ var MealPlanInviteListResponseSchema = import_zod15.z.array(MealPlanInviteSummarySchema);
1146
+ var SendMealPlanInviteResponseSchema = import_zod15.z.object({
1147
+ inviteId: MealPlanInviteIdSchema
715
1148
  });
716
- var PlanListQuerySchema = import_zod15.z.object({});
717
1149
 
718
- // src/domain/recruit/recruit.schema.ts
1150
+ // src/domain/meal-plan/meal-plan-nearby-friend.schema.ts
719
1151
  var import_zod16 = require("zod");
720
- var RecruitStatusSchema = import_zod16.z.enum(["OPEN", "CLOSED", "EXPIRED"]);
721
- var RecruitParticipantSchema = MemberCoreSchema.extend({});
722
- var RecruitSortBySchema = import_zod16.z.enum(["createdAt", "deadline", "participantCount"]);
723
- var RecruitListQuerySchema = PageQuerySchema.extend({
724
- sortBy: RecruitSortBySchema.default("createdAt"),
725
- direction: SortDirectionSchema.default("desc")
726
- });
727
- var RecruitResponseSchema = import_zod16.z.object({
728
- targetCount: import_zod16.z.number().int().min(2),
729
- meetingAt: ISODateTimeStringSchema,
730
- location: import_zod16.z.string().min(1),
1152
+ var MealPlanNearbyFriendExposureIdSchema = import_zod16.z.string().uuid().brand();
1153
+ var MealPlanNearbyFriendExposureStatusSchema = import_zod16.z.enum([
1154
+ "OPEN",
1155
+ "CLOSED",
1156
+ "EXPIRED"
1157
+ ]);
1158
+ var MealPlanNearbyFriendExposureNotificationStatusSchema = import_zod16.z.enum([
1159
+ "PENDING",
1160
+ "SENT",
1161
+ "PARTIAL",
1162
+ "FAILED",
1163
+ "SKIPPED"
1164
+ ]);
1165
+ var ExposeMealPlanToNearbyFriendsRequestSchema = import_zod16.z.object({
1166
+ radiusMeters: import_zod16.z.number().int().min(100).max(5e3).default(1e3),
1167
+ expiresAt: ISODateTimeStringSchema.optional()
1168
+ });
1169
+ var NearbyFriendExposureEligibilitySchema = import_zod16.z.object({
1170
+ canExpose: import_zod16.z.boolean(),
1171
+ locationConsentStatus: LocationConsentStatusSchema,
1172
+ nearbyMealPlanExposureAllowed: import_zod16.z.boolean(),
1173
+ mealSuggestionAllowed: import_zod16.z.boolean(),
1174
+ hasLastKnownLocation: import_zod16.z.boolean(),
1175
+ missingRequirements: import_zod16.z.array(import_zod16.z.enum([
1176
+ "LOCATION_PERMISSION",
1177
+ "SERVICE_LOCATION_CONSENT",
1178
+ "NEARBY_EXPOSURE_TOGGLE",
1179
+ "MEAL_SUGGESTION_TOGGLE",
1180
+ "LAST_KNOWN_LOCATION"
1181
+ ]))
1182
+ });
1183
+ var MealPlanNearbyFriendRejectionReasonSchema = import_zod16.z.enum([
1184
+ "NOT_FRIEND",
1185
+ "BLOCKED",
1186
+ "LOCATION_CONSENT_REQUIRED",
1187
+ "LOCATION_UNAVAILABLE",
1188
+ "OUT_OF_RADIUS",
1189
+ "MEAL_SUGGESTION_DISABLED",
1190
+ "NOT_HUNGRY"
1191
+ ]);
1192
+ var MealPlanNearbyFriendRejectionSummarySchema = import_zod16.z.object({
1193
+ reason: MealPlanNearbyFriendRejectionReasonSchema,
1194
+ count: import_zod16.z.number().int().min(0)
1195
+ });
1196
+ var ExposeMealPlanToNearbyFriendsResponseSchema = import_zod16.z.object({
1197
+ mealPlanId: MealPlanIdSchema,
1198
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
1199
+ exposedFriendCount: import_zod16.z.number().int().min(0),
1200
+ rejectedFriendCount: import_zod16.z.number().int().min(0),
1201
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
1202
+ rejectionSummary: import_zod16.z.array(MealPlanNearbyFriendRejectionSummarySchema)
1203
+ });
1204
+ var MealPlanNearbyFriendExposureSummarySchema = import_zod16.z.object({
1205
+ exposureId: MealPlanNearbyFriendExposureIdSchema,
1206
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema.nullable(),
1207
+ mealPlanId: MealPlanIdSchema,
1208
+ status: MealPlanNearbyFriendExposureStatusSchema,
1209
+ radiusMeters: import_zod16.z.number().int().min(100),
1210
+ exposedFriendCount: import_zod16.z.number().int().min(0),
1211
+ openedAt: ISODateTimeStringSchema,
1212
+ expiresAt: ISODateTimeStringSchema.nullable(),
1213
+ closedAt: ISODateTimeStringSchema.nullable()
1214
+ });
1215
+ var MealPlanNearbyFriendExposureBatchSummarySchema = import_zod16.z.object({
1216
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
1217
+ mealPlanId: MealPlanIdSchema,
1218
+ status: MealPlanNearbyFriendExposureStatusSchema,
1219
+ radiusMeters: import_zod16.z.number().int().min(100),
1220
+ exposedFriendCount: import_zod16.z.number().int().min(0),
1221
+ rejectedFriendCount: import_zod16.z.number().int().min(0),
1222
+ rejectionSummary: import_zod16.z.array(MealPlanNearbyFriendRejectionSummarySchema),
1223
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
1224
+ notificationSentAt: ISODateTimeStringSchema.nullable(),
1225
+ openedAt: ISODateTimeStringSchema,
1226
+ expiresAt: ISODateTimeStringSchema.nullable(),
1227
+ closedAt: ISODateTimeStringSchema.nullable()
1228
+ });
1229
+ var MealPlanJoinRequestStatusSchema = import_zod16.z.enum([
1230
+ "PENDING",
1231
+ "ACCEPTED",
1232
+ "REJECTED",
1233
+ "CANCELLED"
1234
+ ]);
1235
+ var CreateMealPlanJoinRequestSchema = import_zod16.z.object({
1236
+ message: import_zod16.z.string().max(500).default("")
1237
+ });
1238
+ var MealPlanJoinRequestSummarySchema = import_zod16.z.object({
1239
+ joinRequestId: MealPlanJoinRequestIdSchema,
1240
+ mealPlanId: MealPlanIdSchema,
1241
+ requester: MemberCoreSchema,
1242
+ status: MealPlanJoinRequestStatusSchema,
731
1243
  message: import_zod16.z.string().max(500),
732
- recruitId: RecruitIdSchema,
733
- status: RecruitStatusSchema,
1244
+ requestedAt: ISODateTimeStringSchema,
1245
+ respondedAt: ISODateTimeStringSchema.nullable()
1246
+ });
1247
+ var NearbyFriendMealPlanSummarySchema = import_zod16.z.object({
1248
+ mealPlanId: MealPlanIdSchema,
1249
+ owner: MemberCoreSchema,
1250
+ title: import_zod16.z.string(),
1251
+ participantCount: import_zod16.z.number().int().min(1),
1252
+ distanceMeters: import_zod16.z.number().int().min(0),
1253
+ exposedAt: ISODateTimeStringSchema,
1254
+ expiresAt: ISODateTimeStringSchema.nullable(),
1255
+ joinRequestStatus: MealPlanJoinRequestStatusSchema.nullable().default(null)
1256
+ });
1257
+
1258
+ // src/domain/meal-plan/meal-plan-chat.schema.ts
1259
+ var import_zod17 = require("zod");
1260
+ var MealPlanChatMessageKindSchema = import_zod17.z.enum([
1261
+ "USER",
1262
+ "SYSTEM"
1263
+ ]);
1264
+ var MealPlanSystemMessageKindSchema = import_zod17.z.enum([
1265
+ "PARTICIPANT_JOINED",
1266
+ "PARTICIPANT_READY",
1267
+ "PARTICIPANT_REMOVED",
1268
+ "STATUS_CHANGED",
1269
+ "DECISION_UPDATED",
1270
+ "CONFIRMED",
1271
+ "RECORD_NEEDED"
1272
+ ]);
1273
+ var MealPlanChatSystemPayloadSchema = import_zod17.z.object({
1274
+ kind: MealPlanSystemMessageKindSchema
1275
+ }).catchall(import_zod17.z.unknown());
1276
+ var MealPlanChatMessageListResponseSchema = import_zod17.z.array(import_zod17.z.lazy(() => MealPlanChatMessageResponseSchema));
1277
+ var MealPlanChatRoomSummarySchema = import_zod17.z.object({
1278
+ chatRoomId: MealPlanChatRoomIdSchema,
1279
+ mealPlanId: MealPlanIdSchema,
1280
+ messageCount: import_zod17.z.number().int().min(0),
1281
+ lastMessageAt: ISODateTimeStringSchema.nullable(),
1282
+ createdAt: ISODateTimeStringSchema
1283
+ });
1284
+ var SendMealPlanChatMessageRequestSchema = import_zod17.z.object({
1285
+ message: import_zod17.z.string().min(1).max(500)
1286
+ });
1287
+ var MealPlanChatMessageResponseSchema = import_zod17.z.object({
1288
+ messageId: MealPlanChatMessageIdSchema,
1289
+ chatRoomId: MealPlanChatRoomIdSchema,
1290
+ sender: MemberCoreSchema.nullable(),
1291
+ guestId: import_zod17.z.string().min(1).nullable(),
1292
+ guestNickname: import_zod17.z.string().min(1).nullable(),
1293
+ kind: MealPlanChatMessageKindSchema,
1294
+ message: import_zod17.z.string().min(1).max(1e3),
1295
+ systemPayload: MealPlanChatSystemPayloadSchema.nullable(),
1296
+ createdAt: ISODateTimeStringSchema
1297
+ });
1298
+ var MealPlanSystemMessageSchema = import_zod17.z.object({
1299
+ kind: MealPlanSystemMessageKindSchema,
1300
+ message: import_zod17.z.string().min(1),
1301
+ createdAt: ISODateTimeStringSchema
1302
+ });
1303
+
1304
+ // src/domain/meal-plan/meal-plan.schema.ts
1305
+ var MealPlanStatusSchema = import_zod18.z.enum([
1306
+ "DRAFT",
1307
+ "RECOMMENDING",
1308
+ "GATHERING",
1309
+ "DECIDING",
1310
+ "READY",
1311
+ "CONFIRMED",
1312
+ "LOCKED",
1313
+ "COMPLETED",
1314
+ "RECORDED",
1315
+ "CANCELLED"
1316
+ ]);
1317
+ var MealPlanChannelSchema = import_zod18.z.enum([
1318
+ "OWNER_ONLY",
1319
+ "FRIEND_INVITE",
1320
+ "LINK_GUEST",
1321
+ "NEARBY_FRIENDS"
1322
+ ]);
1323
+ var MealPlanRecommendationContextSchema = import_zod18.z.object({
1324
+ mealDate: ISODateStringSchema.optional(),
1325
+ mealTime: TimeHHmmStringSchema.optional(),
1326
+ area: MealPlanLocationCandidateSchema.optional(),
1327
+ preferredMenuCategories: import_zod18.z.array(import_zod18.z.string().min(1)).default([]),
1328
+ excludedMenuCategories: import_zod18.z.array(import_zod18.z.string().min(1)).default([]),
1329
+ candidateMenuCategories: import_zod18.z.array(import_zod18.z.string().min(1)).default([]),
1330
+ budgetMin: import_zod18.z.number().int().min(0).optional(),
1331
+ budgetMax: import_zod18.z.number().int().min(0).optional(),
1332
+ memo: import_zod18.z.string().max(500).optional()
1333
+ });
1334
+ var CreateMealPlanRequestSchema = import_zod18.z.object({
1335
+ title: import_zod18.z.string().min(1).max(100).optional(),
1336
+ channels: import_zod18.z.array(MealPlanChannelSchema).default([
1337
+ "OWNER_ONLY"
1338
+ ]),
1339
+ recommendationContext: MealPlanRecommendationContextSchema.optional()
1340
+ });
1341
+ var CreateMealPlanResponseSchema = import_zod18.z.object({
1342
+ mealPlanId: MealPlanIdSchema
1343
+ });
1344
+ var UpdateMealPlanContextRequestSchema = MealPlanRecommendationContextSchema.partial();
1345
+ var MealPlanViewerRoleSchema = import_zod18.z.enum([
1346
+ "OWNER",
1347
+ "FRIEND",
1348
+ "GUEST",
1349
+ "NONE"
1350
+ ]);
1351
+ var MealPlanViewerPermissionsSchema = import_zod18.z.object({
1352
+ canView: import_zod18.z.boolean(),
1353
+ canInviteFriends: import_zod18.z.boolean(),
1354
+ canManageParticipants: import_zod18.z.boolean(),
1355
+ canCreateShareLink: import_zod18.z.boolean(),
1356
+ canExposeNearbyFriends: import_zod18.z.boolean(),
1357
+ canVote: import_zod18.z.boolean(),
1358
+ canChat: import_zod18.z.boolean(),
1359
+ canReadyMealPlan: import_zod18.z.boolean(),
1360
+ canReadyDecisionTask: import_zod18.z.boolean(),
1361
+ canRequestChange: import_zod18.z.boolean(),
1362
+ canReopenDecisionTask: import_zod18.z.boolean(),
1363
+ canConfirmDecisionSnapshot: import_zod18.z.boolean(),
1364
+ canConfirmMealPlan: import_zod18.z.boolean(),
1365
+ canCompleteMealPlan: import_zod18.z.boolean(),
1366
+ canRecordMealPlan: import_zod18.z.boolean(),
1367
+ canCancelMealPlan: import_zod18.z.boolean()
1368
+ });
1369
+ var MealPlanResponseSchema = import_zod18.z.object({
1370
+ mealPlanId: MealPlanIdSchema,
1371
+ owner: MemberCoreSchema,
1372
+ title: import_zod18.z.string().nullable(),
1373
+ status: MealPlanStatusSchema,
1374
+ channels: import_zod18.z.array(MealPlanChannelSchema),
1375
+ participants: import_zod18.z.array(MealPlanParticipantResponseSchema),
1376
+ pendingInvites: import_zod18.z.array(MealPlanInviteSummarySchema),
1377
+ pendingJoinRequests: import_zod18.z.array(MealPlanJoinRequestSummarySchema),
1378
+ decisionStages: import_zod18.z.array(MealPlanDecisionStageResponseSchema),
1379
+ decisionProgress: MealPlanDecisionProgressSchema.nullable(),
1380
+ viewerRole: MealPlanViewerRoleSchema,
1381
+ viewerParticipantStatus: MealPlanParticipantStatusSchema.nullable(),
1382
+ viewerPermissions: MealPlanViewerPermissionsSchema,
1383
+ viewerTaskReadyMap: import_zod18.z.record(MealPlanDecisionTaskKeySchema, import_zod18.z.boolean()),
1384
+ selectedDate: ISODateStringSchema.nullable(),
1385
+ selectedTime: TimeHHmmStringSchema.nullable(),
1386
+ selectedArea: MealPlanLocationCandidateSchema.nullable(),
1387
+ selectedRestaurant: RestaurantSchema.nullable(),
1388
+ selectedMenuCategory: import_zod18.z.string().nullable(),
1389
+ chatRoom: MealPlanChatRoomSummarySchema.nullable(),
1390
+ confirmedAt: ISODateTimeStringSchema.nullable(),
1391
+ lockedAt: ISODateTimeStringSchema.nullable(),
1392
+ completedAt: ISODateTimeStringSchema.nullable(),
1393
+ recordedAt: ISODateTimeStringSchema.nullable(),
734
1394
  createdAt: ISODateTimeStringSchema,
735
- expiredAt: ISODateTimeStringSchema,
736
- updatedAt: ISODateTimeStringSchema,
737
- author: MemberCoreSchema,
738
- participants: import_zod16.z.array(RecruitParticipantSchema)
1395
+ updatedAt: ISODateTimeStringSchema
1396
+ });
1397
+ var MyMealPlanGroupSchema = import_zod18.z.enum([
1398
+ "DECIDING",
1399
+ "UPCOMING",
1400
+ "RECORD_NEEDED",
1401
+ "PAST"
1402
+ ]);
1403
+ var MyMealPlanListItemSchema = import_zod18.z.object({
1404
+ mealPlanId: MealPlanIdSchema,
1405
+ group: MyMealPlanGroupSchema,
1406
+ title: import_zod18.z.string(),
1407
+ status: MealPlanStatusSchema,
1408
+ channels: import_zod18.z.array(MealPlanChannelSchema),
1409
+ participantCount: import_zod18.z.number().int().min(1),
1410
+ selectedDate: ISODateStringSchema.nullable(),
1411
+ selectedTime: TimeHHmmStringSchema.nullable(),
1412
+ selectedAreaName: import_zod18.z.string().nullable(),
1413
+ selectedRestaurantName: import_zod18.z.string().nullable(),
1414
+ primaryAction: import_zod18.z.object({
1415
+ label: import_zod18.z.string(),
1416
+ href: import_zod18.z.string()
1417
+ }),
1418
+ updatedAt: ISODateTimeStringSchema
1419
+ });
1420
+ var MyMealPlanListResponseSchema = import_zod18.z.object({
1421
+ deciding: import_zod18.z.array(MyMealPlanListItemSchema),
1422
+ upcoming: import_zod18.z.array(MyMealPlanListItemSchema),
1423
+ recordNeeded: import_zod18.z.array(MyMealPlanListItemSchema),
1424
+ past: import_zod18.z.array(MyMealPlanListItemSchema)
1425
+ });
1426
+ var MealPlanNotificationKindSchema = import_zod18.z.enum([
1427
+ "MEAL_PLAN_INVITE_RECEIVED",
1428
+ "MEAL_PLAN_INVITE_ACCEPTED",
1429
+ "MEAL_PLAN_JOIN_REQUESTED",
1430
+ "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
1431
+ "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
1432
+ "MEAL_PLAN_PARTICIPANT_JOINED",
1433
+ "MEAL_PLAN_READY_COMPLETED",
1434
+ "MEAL_PLAN_CONFIRMED",
1435
+ "MEAL_PLAN_LOCKED",
1436
+ "MEAL_PLAN_RECORD_NEEDED"
1437
+ ]);
1438
+ var MealPlanNotificationPriorityChannelSchema = import_zod18.z.enum([
1439
+ "HOME",
1440
+ "NOTIFICATION_INBOX",
1441
+ "FCM_PUSH",
1442
+ "LIVE_ACTIVITY"
1443
+ ]);
1444
+ var MealPlanLiveActivityBehaviorSchema = import_zod18.z.enum([
1445
+ "NONE",
1446
+ "START_OR_UPDATE",
1447
+ "UPDATE",
1448
+ "END"
1449
+ ]);
1450
+ var MealPlanNotificationPriorityPolicyItemSchema = import_zod18.z.object({
1451
+ kind: MealPlanNotificationKindSchema,
1452
+ priority: import_zod18.z.number().int().min(0),
1453
+ homePriority: import_zod18.z.number().int().min(0),
1454
+ inboxPriority: import_zod18.z.number().int().min(0),
1455
+ fcmPriority: import_zod18.z.number().int().min(0),
1456
+ liveActivityPriority: import_zod18.z.number().int().min(0),
1457
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema,
1458
+ foregroundToast: import_zod18.z.boolean()
1459
+ });
1460
+ var MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES = {
1461
+ MEAL_PLAN_JOIN_REQUESTED: {
1462
+ kind: "MEAL_PLAN_JOIN_REQUESTED",
1463
+ priority: 5,
1464
+ homePriority: 5,
1465
+ inboxPriority: 5,
1466
+ fcmPriority: 10,
1467
+ liveActivityPriority: 80,
1468
+ liveActivityBehavior: "NONE",
1469
+ foregroundToast: true
1470
+ },
1471
+ MEAL_PLAN_INVITE_RECEIVED: {
1472
+ kind: "MEAL_PLAN_INVITE_RECEIVED",
1473
+ priority: 12,
1474
+ homePriority: 12,
1475
+ inboxPriority: 12,
1476
+ fcmPriority: 15,
1477
+ liveActivityPriority: 80,
1478
+ liveActivityBehavior: "NONE",
1479
+ foregroundToast: true
1480
+ },
1481
+ MEAL_PLAN_RECORD_NEEDED: {
1482
+ kind: "MEAL_PLAN_RECORD_NEEDED",
1483
+ priority: 18,
1484
+ homePriority: 18,
1485
+ inboxPriority: 18,
1486
+ fcmPriority: 20,
1487
+ liveActivityPriority: 60,
1488
+ liveActivityBehavior: "END",
1489
+ foregroundToast: true
1490
+ },
1491
+ MEAL_PLAN_LOCKED: {
1492
+ kind: "MEAL_PLAN_LOCKED",
1493
+ priority: 22,
1494
+ homePriority: 22,
1495
+ inboxPriority: 22,
1496
+ fcmPriority: 8,
1497
+ liveActivityPriority: 5,
1498
+ liveActivityBehavior: "START_OR_UPDATE",
1499
+ foregroundToast: true
1500
+ },
1501
+ MEAL_PLAN_CONFIRMED: {
1502
+ kind: "MEAL_PLAN_CONFIRMED",
1503
+ priority: 24,
1504
+ homePriority: 24,
1505
+ inboxPriority: 24,
1506
+ fcmPriority: 12,
1507
+ liveActivityPriority: 12,
1508
+ liveActivityBehavior: "START_OR_UPDATE",
1509
+ foregroundToast: true
1510
+ },
1511
+ MEAL_PLAN_NEARBY_FRIEND_EXPOSED: {
1512
+ kind: "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
1513
+ priority: 28,
1514
+ homePriority: 28,
1515
+ inboxPriority: 28,
1516
+ fcmPriority: 24,
1517
+ liveActivityPriority: 80,
1518
+ liveActivityBehavior: "NONE",
1519
+ foregroundToast: false
1520
+ },
1521
+ MEAL_PLAN_READY_COMPLETED: {
1522
+ kind: "MEAL_PLAN_READY_COMPLETED",
1523
+ priority: 32,
1524
+ homePriority: 32,
1525
+ inboxPriority: 32,
1526
+ fcmPriority: 28,
1527
+ liveActivityPriority: 20,
1528
+ liveActivityBehavior: "UPDATE",
1529
+ foregroundToast: false
1530
+ },
1531
+ MEAL_PLAN_JOIN_REQUEST_ACCEPTED: {
1532
+ kind: "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
1533
+ priority: 36,
1534
+ homePriority: 36,
1535
+ inboxPriority: 36,
1536
+ fcmPriority: 30,
1537
+ liveActivityPriority: 80,
1538
+ liveActivityBehavior: "NONE",
1539
+ foregroundToast: true
1540
+ },
1541
+ MEAL_PLAN_INVITE_ACCEPTED: {
1542
+ kind: "MEAL_PLAN_INVITE_ACCEPTED",
1543
+ priority: 40,
1544
+ homePriority: 40,
1545
+ inboxPriority: 40,
1546
+ fcmPriority: 34,
1547
+ liveActivityPriority: 80,
1548
+ liveActivityBehavior: "NONE",
1549
+ foregroundToast: true
1550
+ },
1551
+ MEAL_PLAN_PARTICIPANT_JOINED: {
1552
+ kind: "MEAL_PLAN_PARTICIPANT_JOINED",
1553
+ priority: 44,
1554
+ homePriority: 44,
1555
+ inboxPriority: 44,
1556
+ fcmPriority: 38,
1557
+ liveActivityPriority: 32,
1558
+ liveActivityBehavior: "UPDATE",
1559
+ foregroundToast: false
1560
+ }
1561
+ };
1562
+ var MealPlanNotificationSchema = import_zod18.z.object({
1563
+ notificationId: import_zod18.z.string().min(1),
1564
+ kind: MealPlanNotificationKindSchema,
1565
+ mealPlanId: MealPlanIdSchema,
1566
+ deepLink: import_zod18.z.string().min(1),
1567
+ title: import_zod18.z.string().min(1),
1568
+ message: import_zod18.z.string().min(1),
1569
+ createdAt: ISODateTimeStringSchema,
1570
+ readAt: ISODateTimeStringSchema.nullable()
1571
+ });
1572
+
1573
+ // src/domain/meal-plan/meal-plan-share-link.schema.ts
1574
+ var import_zod19 = require("zod");
1575
+ var CreateMealPlanShareLinkRequestSchema = import_zod19.z.object({
1576
+ expiresAt: ISODateTimeStringSchema.optional(),
1577
+ guestJoinEnabled: import_zod19.z.boolean().default(true)
1578
+ });
1579
+ var MealPlanShareLinkSummarySchema = import_zod19.z.object({
1580
+ shareLinkId: MealPlanShareLinkIdSchema,
1581
+ mealPlanId: MealPlanIdSchema,
1582
+ token: MealPlanShareLinkTokenSchema,
1583
+ url: import_zod19.z.string().url(),
1584
+ expiresAt: ISODateTimeStringSchema,
1585
+ guestJoinEnabled: import_zod19.z.boolean(),
1586
+ createdAt: ISODateTimeStringSchema
1587
+ });
1588
+ var MealPlanSharePreviewResponseSchema = import_zod19.z.object({
1589
+ mealPlanId: MealPlanIdSchema,
1590
+ token: MealPlanShareLinkTokenSchema,
1591
+ title: import_zod19.z.string(),
1592
+ ownerName: import_zod19.z.string(),
1593
+ participantCount: import_zod19.z.number().int().min(1),
1594
+ expiresAt: ISODateTimeStringSchema,
1595
+ guestJoinEnabled: import_zod19.z.boolean()
1596
+ });
1597
+ var JoinMealPlanGuestRequestSchema = import_zod19.z.object({
1598
+ nickname: import_zod19.z.string().min(1).max(50),
1599
+ password: import_zod19.z.string().min(1).max(100).optional()
1600
+ });
1601
+ var JoinMealPlanGuestResponseSchema = import_zod19.z.object({
1602
+ mealPlanId: MealPlanIdSchema,
1603
+ guestId: import_zod19.z.string().min(1),
1604
+ sessionToken: import_zod19.z.string().min(1)
1605
+ });
1606
+ var MealPlanGuestSessionQuerySchema = import_zod19.z.object({
1607
+ sessionToken: import_zod19.z.string().min(1)
1608
+ });
1609
+ var MealPlanGuestSessionResponseSchema = import_zod19.z.object({
1610
+ mealPlan: MealPlanResponseSchema,
1611
+ token: MealPlanShareLinkTokenSchema,
1612
+ guestId: import_zod19.z.string().min(1),
1613
+ nickname: import_zod19.z.string().min(1).max(50),
1614
+ sessionToken: import_zod19.z.string().min(1)
1615
+ });
1616
+
1617
+ // src/domain/meal-plan/meal-group.schema.ts
1618
+ var import_zod20 = require("zod");
1619
+ var MealGroupMemberRoleSchema = import_zod20.z.enum([
1620
+ "OWNER",
1621
+ "MEMBER"
1622
+ ]);
1623
+ var MealGroupMemberSchema = import_zod20.z.object({
1624
+ member: MemberCoreSchema,
1625
+ role: MealGroupMemberRoleSchema,
1626
+ joinedAt: ISODateTimeStringSchema
1627
+ });
1628
+ var MealGroupResponseSchema = import_zod20.z.object({
1629
+ mealGroupId: MealGroupIdSchema,
1630
+ name: import_zod20.z.string().min(1).max(50),
1631
+ owner: MemberCoreSchema,
1632
+ profileImageUrl: import_zod20.z.string().url().nullable(),
1633
+ members: import_zod20.z.array(MealGroupMemberSchema),
1634
+ recentMealPlanIds: import_zod20.z.array(MealPlanIdSchema),
1635
+ createdAt: ISODateTimeStringSchema,
1636
+ updatedAt: ISODateTimeStringSchema
739
1637
  });
740
- var RecruitListResponseSchema = PageResponseSchema(RecruitResponseSchema);
741
- var CreateRecruitRequestSchema = import_zod16.z.object({
742
- targetCount: import_zod16.z.number().int().min(2),
743
- meetingAt: ISODateTimeStringSchema,
744
- location: import_zod16.z.string().min(1),
745
- message: import_zod16.z.string().max(500)
1638
+ var CreateMealGroupRequestSchema = import_zod20.z.object({
1639
+ name: import_zod20.z.string().min(1).max(50),
1640
+ memberIds: import_zod20.z.array(import_zod20.z.number().int().positive()).min(1),
1641
+ profileImageUrl: import_zod20.z.string().url().nullable().optional(),
1642
+ sourceMealPlanId: MealPlanIdSchema.optional()
1643
+ });
1644
+ var StartMealPlanFromGroupRequestSchema = import_zod20.z.object({
1645
+ title: import_zod20.z.string().min(1).max(100).optional()
1646
+ });
1647
+ var AddMealGroupMemberRequestSchema = import_zod20.z.object({
1648
+ memberId: import_zod20.z.number().int().positive(),
1649
+ role: MealGroupMemberRoleSchema.default("MEMBER")
1650
+ });
1651
+ var UpdateMealGroupMemberRoleRequestSchema = import_zod20.z.object({
1652
+ role: MealGroupMemberRoleSchema
1653
+ });
1654
+ var MealGroupHistoryItemSchema = MyMealPlanListItemSchema.extend({});
1655
+ var MealGroupPreferenceSummarySchema = import_zod20.z.object({
1656
+ mealGroupId: MealGroupIdSchema,
1657
+ frequentMenuCategories: import_zod20.z.array(import_zod20.z.object({
1658
+ label: import_zod20.z.string(),
1659
+ count: import_zod20.z.number().int().min(0)
1660
+ })),
1661
+ frequentRestaurants: import_zod20.z.array(import_zod20.z.object({
1662
+ restaurantName: import_zod20.z.string(),
1663
+ count: import_zod20.z.number().int().min(0)
1664
+ })),
1665
+ recentMenuCategories: import_zod20.z.array(import_zod20.z.string()),
1666
+ recommendationContext: import_zod20.z.object({
1667
+ preferredMenuCategories: import_zod20.z.array(import_zod20.z.string()),
1668
+ excludedMenuCategories: import_zod20.z.array(import_zod20.z.string()),
1669
+ candidateMenuCategories: import_zod20.z.array(import_zod20.z.string())
1670
+ })
746
1671
  });
747
- var CreateRecruitResponseSchema = import_zod16.z.object({
748
- recruitId: RecruitIdSchema
1672
+ var MealGroupHistoryResponseSchema = import_zod20.z.array(MealGroupHistoryItemSchema);
1673
+
1674
+ // src/domain/meal-plan/meal-plan-home-map.schema.ts
1675
+ var import_zod21 = require("zod");
1676
+ var HomeMealPlanActionKindSchema = import_zod21.z.enum([
1677
+ "CONTINUE_DECISION",
1678
+ "TODAY_UPCOMING",
1679
+ "RECORD_NEEDED",
1680
+ "RESPOND_JOIN_REQUEST",
1681
+ "NOTIFICATION_FOLLOW_UP"
1682
+ ]);
1683
+ var HomeMealPlanActionCardSchema = import_zod21.z.object({
1684
+ actionId: import_zod21.z.string().min(1),
1685
+ kind: HomeMealPlanActionKindSchema,
1686
+ priority: import_zod21.z.number().int().min(0),
1687
+ title: import_zod21.z.string().min(1),
1688
+ description: import_zod21.z.string().min(1),
1689
+ primaryAction: import_zod21.z.object({
1690
+ label: import_zod21.z.string().min(1),
1691
+ href: import_zod21.z.string().min(1)
1692
+ }),
1693
+ mealPlan: MyMealPlanListItemSchema.nullable(),
1694
+ joinRequest: MealPlanJoinRequestSummarySchema.nullable(),
1695
+ notification: MealPlanNotificationSchema.nullable().default(null)
1696
+ });
1697
+ var HomeMealPlanDashboardResponseSchema = import_zod21.z.object({
1698
+ generatedAt: ISODateTimeStringSchema,
1699
+ inProgress: import_zod21.z.array(MyMealPlanListItemSchema),
1700
+ today: import_zod21.z.array(MyMealPlanListItemSchema),
1701
+ recordNeeded: import_zod21.z.array(MyMealPlanListItemSchema),
1702
+ pendingJoinRequests: import_zod21.z.array(MealPlanJoinRequestSummarySchema),
1703
+ unreadNotifications: import_zod21.z.array(MealPlanNotificationSchema).default([]),
1704
+ nextActions: import_zod21.z.array(HomeMealPlanActionCardSchema)
1705
+ });
1706
+ var MealMapLayerSchema = import_zod21.z.enum([
1707
+ "MY_MEAL_PLAN_PLACE",
1708
+ "NEARBY_FRIEND_MEAL_PLAN",
1709
+ "FRIEND_RECORD_LOCATION",
1710
+ "RESTAURANT_CANDIDATE"
1711
+ ]);
1712
+ var MealMapMarkerBaseSchema = import_zod21.z.object({
1713
+ markerId: import_zod21.z.string().min(1),
1714
+ lat: import_zod21.z.number().min(-90).max(90),
1715
+ lng: import_zod21.z.number().min(-180).max(180),
1716
+ title: import_zod21.z.string().min(1),
1717
+ subtitle: import_zod21.z.string().nullable(),
1718
+ href: import_zod21.z.string().min(1).nullable(),
1719
+ mealPlanId: MealPlanIdSchema.nullable(),
1720
+ articleId: ArticleIdSchema.nullable(),
1721
+ restaurant: RestaurantSchema.nullable(),
1722
+ distanceMeters: import_zod21.z.number().int().min(0).nullable(),
1723
+ updatedAt: ISODateTimeStringSchema
1724
+ });
1725
+ var MealMapMyMealPlanPlaceMetadataSchema = import_zod21.z.object({
1726
+ ownerId: MemberIdSchema.nullable().default(null),
1727
+ status: import_zod21.z.string().min(1),
1728
+ participantCount: import_zod21.z.number().int().min(1),
1729
+ source: import_zod21.z.string().min(1)
1730
+ });
1731
+ var MealMapNearbyFriendMealPlanMetadataSchema = import_zod21.z.object({
1732
+ ownerId: MemberIdSchema.nullable().default(null),
1733
+ ownerName: import_zod21.z.string().min(1),
1734
+ participantCount: import_zod21.z.number().int().min(1),
1735
+ expiresAt: ISODateTimeStringSchema.nullable(),
1736
+ source: import_zod21.z.string().min(1)
1737
+ });
1738
+ var MealMapFriendRecordLocationMetadataSchema = import_zod21.z.object({
1739
+ authorId: MemberIdSchema.nullable().default(null),
1740
+ authorName: import_zod21.z.string().min(1),
1741
+ imageUrl: import_zod21.z.string().nullable().default(null),
1742
+ mealDate: import_zod21.z.string().min(1)
1743
+ });
1744
+ var MealMapRestaurantCandidateCompletionBlockedReasonSchema = import_zod21.z.enum([
1745
+ "OWNER_ONLY",
1746
+ "STAGE_ALREADY_COMPLETED",
1747
+ "MEAL_PLAN_NOT_MUTABLE"
1748
+ ]);
1749
+ var MealMapRestaurantCandidateMetadataSchema = import_zod21.z.object({
1750
+ stageId: MealPlanDecisionStageIdSchema,
1751
+ ownerId: MemberIdSchema.nullable().default(null),
1752
+ status: import_zod21.z.string().min(1),
1753
+ source: import_zod21.z.enum([
1754
+ "search",
1755
+ "fallback",
1756
+ "manual"
1757
+ ]).default("search"),
1758
+ stageStatus: import_zod21.z.enum([
1759
+ "OPEN",
1760
+ "COMPLETED",
1761
+ "REOPENED"
1762
+ ]).default("OPEN"),
1763
+ canVote: import_zod21.z.boolean().default(false),
1764
+ canCompleteStage: import_zod21.z.boolean().default(false),
1765
+ completionBlockedReason: MealMapRestaurantCandidateCompletionBlockedReasonSchema.nullable().default(null)
1766
+ });
1767
+ var MealMapMarkerSchema = import_zod21.z.discriminatedUnion("layer", [
1768
+ MealMapMarkerBaseSchema.extend({
1769
+ layer: import_zod21.z.literal("MY_MEAL_PLAN_PLACE"),
1770
+ metadata: MealMapMyMealPlanPlaceMetadataSchema
1771
+ }),
1772
+ MealMapMarkerBaseSchema.extend({
1773
+ layer: import_zod21.z.literal("NEARBY_FRIEND_MEAL_PLAN"),
1774
+ metadata: MealMapNearbyFriendMealPlanMetadataSchema
1775
+ }),
1776
+ MealMapMarkerBaseSchema.extend({
1777
+ layer: import_zod21.z.literal("FRIEND_RECORD_LOCATION"),
1778
+ metadata: MealMapFriendRecordLocationMetadataSchema
1779
+ }),
1780
+ MealMapMarkerBaseSchema.extend({
1781
+ layer: import_zod21.z.literal("RESTAURANT_CANDIDATE"),
1782
+ metadata: MealMapRestaurantCandidateMetadataSchema
1783
+ })
1784
+ ]);
1785
+ var MealMapQuerySchema = import_zod21.z.object({
1786
+ friendRecordDays: import_zod21.z.coerce.number().int().min(1).max(90).optional().default(7)
1787
+ });
1788
+ var MealMapResponseSchema = import_zod21.z.object({
1789
+ generatedAt: ISODateTimeStringSchema,
1790
+ center: import_zod21.z.object({
1791
+ lat: import_zod21.z.number().min(-90).max(90),
1792
+ lng: import_zod21.z.number().min(-180).max(180),
1793
+ source: import_zod21.z.enum([
1794
+ "LAST_KNOWN_LOCATION",
1795
+ "MY_MEAL_PLAN",
1796
+ "DEFAULT"
1797
+ ])
1798
+ }),
1799
+ layers: import_zod21.z.object({
1800
+ myMealPlanPlaces: import_zod21.z.array(MealMapMarkerSchema),
1801
+ nearbyFriendMealPlans: import_zod21.z.array(MealMapMarkerSchema),
1802
+ friendRecordLocations: import_zod21.z.array(MealMapMarkerSchema),
1803
+ restaurantCandidates: import_zod21.z.array(MealMapMarkerSchema)
1804
+ })
749
1805
  });
750
1806
 
1807
+ // src/domain/meal-plan/meal-plan-notification-priority.ts
1808
+ var DEFAULT_POLICY = MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES.MEAL_PLAN_PARTICIPANT_JOINED;
1809
+ function getMealPlanNotificationPriorityPolicy(kind) {
1810
+ return MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES[kind] ?? DEFAULT_POLICY;
1811
+ }
1812
+ __name(getMealPlanNotificationPriorityPolicy, "getMealPlanNotificationPriorityPolicy");
1813
+ function getMealPlanNotificationPriority(kind, channel = "HOME") {
1814
+ const policy = getMealPlanNotificationPriorityPolicy(kind);
1815
+ switch (channel) {
1816
+ case "HOME":
1817
+ return policy.homePriority;
1818
+ case "NOTIFICATION_INBOX":
1819
+ return policy.inboxPriority;
1820
+ case "FCM_PUSH":
1821
+ return policy.fcmPriority;
1822
+ case "LIVE_ACTIVITY":
1823
+ return policy.liveActivityPriority;
1824
+ default:
1825
+ return policy.priority;
1826
+ }
1827
+ }
1828
+ __name(getMealPlanNotificationPriority, "getMealPlanNotificationPriority");
1829
+ function getMealPlanLiveActivityBehavior(kind) {
1830
+ return getMealPlanNotificationPriorityPolicy(kind).liveActivityBehavior;
1831
+ }
1832
+ __name(getMealPlanLiveActivityBehavior, "getMealPlanLiveActivityBehavior");
1833
+ function shouldShowForegroundToast(kind) {
1834
+ return getMealPlanNotificationPriorityPolicy(kind).foregroundToast;
1835
+ }
1836
+ __name(shouldShowForegroundToast, "shouldShowForegroundToast");
1837
+ function compareMealPlanNotificationsByPriority(channel) {
1838
+ return (a, b) => {
1839
+ const unreadDelta = Number(Boolean(a.readAt)) - Number(Boolean(b.readAt));
1840
+ if (unreadDelta !== 0) return unreadDelta;
1841
+ const priorityDelta = getMealPlanNotificationPriority(a.kind, channel) - getMealPlanNotificationPriority(b.kind, channel);
1842
+ if (priorityDelta !== 0) return priorityDelta;
1843
+ return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
1844
+ };
1845
+ }
1846
+ __name(compareMealPlanNotificationsByPriority, "compareMealPlanNotificationsByPriority");
1847
+
751
1848
  // src/domain/promotion/referral.schema.ts
752
- var import_zod17 = require("zod");
753
- var ReferralCreateResponseSchema = import_zod17.z.object({
1849
+ var import_zod22 = require("zod");
1850
+ var ReferralCreateResponseSchema = import_zod22.z.object({
754
1851
  code: ReferralCodeSchema,
755
- link: import_zod17.z.string().url(),
1852
+ link: import_zod22.z.string().url(),
756
1853
  expiresAt: ISODateTimeStringSchema
757
1854
  });
758
- var ReferralItemResponseSchema = import_zod17.z.object({
1855
+ var ReferralItemResponseSchema = import_zod22.z.object({
759
1856
  code: ReferralCodeSchema,
760
1857
  createdAt: ISODateTimeStringSchema,
761
1858
  expiresAt: ISODateTimeStringSchema,
762
- used: import_zod17.z.boolean(),
1859
+ used: import_zod22.z.boolean(),
763
1860
  usedByMemberId: MemberIdSchema.nullable(),
764
- usedByUsername: import_zod17.z.string().nullable()
1861
+ usedByUsername: import_zod22.z.string().nullable()
765
1862
  });
766
- var RedeemReferralRequestSchema = import_zod17.z.object({
1863
+ var RedeemReferralRequestSchema = import_zod22.z.object({
767
1864
  code: ReferralCodeSchema
768
1865
  });
769
1866
 
770
1867
  // src/domain/promotion/coupon.schema.ts
771
- var import_zod18 = require("zod");
772
- var CouponTypeSchema = import_zod18.z.enum(["DISCOUNT", "SERVICE"]);
773
- var CouponStatusSchema = import_zod18.z.enum(["UNUSED", "USED"]);
774
- var CouponResponseSchema = import_zod18.z.object({
1868
+ var import_zod23 = require("zod");
1869
+ var CouponTypeSchema = import_zod23.z.enum([
1870
+ "DISCOUNT",
1871
+ "SERVICE"
1872
+ ]);
1873
+ var CouponStatusSchema = import_zod23.z.enum([
1874
+ "UNUSED",
1875
+ "USED"
1876
+ ]);
1877
+ var CouponResponseSchema = import_zod23.z.object({
775
1878
  couponId: CouponIdSchema,
776
- title: import_zod18.z.string(),
777
- shopName: import_zod18.z.string(),
1879
+ title: import_zod23.z.string(),
1880
+ shopName: import_zod23.z.string(),
778
1881
  type: CouponTypeSchema,
779
- condition: import_zod18.z.string(),
1882
+ condition: import_zod23.z.string(),
780
1883
  expiresAt: ISODateStringSchema,
781
- used: import_zod18.z.boolean(),
782
- thumbnailUrl: import_zod18.z.string().url()
1884
+ used: import_zod23.z.boolean(),
1885
+ thumbnailUrl: import_zod23.z.string().url()
1886
+ });
1887
+
1888
+ // src/domain/promotion/challenge.schema.ts
1889
+ var import_zod24 = require("zod");
1890
+ var RewardTypeSchema = import_zod24.z.enum([
1891
+ "WEEK",
1892
+ "MONTH"
1893
+ ]);
1894
+ var WeekProgressSchema = import_zod24.z.object({
1895
+ days: import_zod24.z.array(import_zod24.z.boolean()),
1896
+ completed: import_zod24.z.number().int().min(0),
1897
+ goal: import_zod24.z.number().int().positive()
1898
+ });
1899
+ var MonthProgressSchema = import_zod24.z.object({
1900
+ count: import_zod24.z.number().int().min(0),
1901
+ goal: import_zod24.z.number().int().positive()
1902
+ });
1903
+ var ChallengeStatusResponseSchema = import_zod24.z.object({
1904
+ week: WeekProgressSchema,
1905
+ month: MonthProgressSchema,
1906
+ weekRewardAvailable: import_zod24.z.boolean(),
1907
+ monthRewardAvailable: import_zod24.z.boolean()
1908
+ });
1909
+ var ClaimChallengeRewardRequestSchema = import_zod24.z.object({
1910
+ type: RewardTypeSchema
1911
+ });
1912
+ var ClaimChallengeRewardResponseSchema = import_zod24.z.object({
1913
+ rewardType: RewardTypeSchema,
1914
+ claimed: import_zod24.z.boolean()
1915
+ });
1916
+
1917
+ // src/domain/push/push.schema.ts
1918
+ var import_zod25 = require("zod");
1919
+ var PushProviderSchema = import_zod25.z.enum([
1920
+ "FCM",
1921
+ "APNS_LIVE_ACTIVITY"
1922
+ ]);
1923
+ var PushPlatformSchema = import_zod25.z.enum([
1924
+ "WEB",
1925
+ "ANDROID",
1926
+ "IOS"
1927
+ ]);
1928
+ var PushPermissionStatusSchema = import_zod25.z.enum([
1929
+ "UNKNOWN",
1930
+ "PROMPT",
1931
+ "GRANTED",
1932
+ "DENIED"
1933
+ ]);
1934
+ var PushTokenStatusSchema = import_zod25.z.enum([
1935
+ "ACTIVE",
1936
+ "REVOKED",
1937
+ "DISABLED"
1938
+ ]);
1939
+ var RegisterPushTokenRequestSchema = import_zod25.z.object({
1940
+ provider: PushProviderSchema.default("FCM"),
1941
+ platform: PushPlatformSchema,
1942
+ token: import_zod25.z.string().min(10),
1943
+ deviceId: import_zod25.z.string().min(1).max(128),
1944
+ appVersion: import_zod25.z.string().min(1).max(64).optional(),
1945
+ buildNumber: import_zod25.z.string().min(1).max(64).optional(),
1946
+ permissionStatus: PushPermissionStatusSchema
1947
+ });
1948
+ var RevokePushTokenRequestSchema = import_zod25.z.object({
1949
+ provider: PushProviderSchema.default("FCM"),
1950
+ token: import_zod25.z.string().min(10).optional(),
1951
+ deviceId: import_zod25.z.string().min(1).max(128).optional()
1952
+ });
1953
+ var PushTokenResponseSchema = import_zod25.z.object({
1954
+ pushTokenId: import_zod25.z.string().uuid(),
1955
+ provider: PushProviderSchema,
1956
+ platform: PushPlatformSchema,
1957
+ deviceId: import_zod25.z.string(),
1958
+ status: PushTokenStatusSchema,
1959
+ permissionStatus: PushPermissionStatusSchema,
1960
+ appVersion: import_zod25.z.string().nullable(),
1961
+ buildNumber: import_zod25.z.string().nullable(),
1962
+ lastSeenAt: ISODateTimeStringSchema,
1963
+ revokedAt: ISODateTimeStringSchema.nullable()
1964
+ });
1965
+ var PushPayloadSchemaVersionSchema = import_zod25.z.literal("2026-06-17");
1966
+ var MealPlanPushPayloadDataSchema = import_zod25.z.object({
1967
+ schemaVersion: PushPayloadSchemaVersionSchema,
1968
+ notificationId: import_zod25.z.string().min(1),
1969
+ kind: MealPlanNotificationKindSchema,
1970
+ mealPlanId: MealPlanIdSchema,
1971
+ deepLink: import_zod25.z.string().min(1),
1972
+ title: import_zod25.z.string().min(1),
1973
+ body: import_zod25.z.string().min(1),
1974
+ fcmPriority: import_zod25.z.coerce.number().int().min(0),
1975
+ liveActivityPriority: import_zod25.z.coerce.number().int().min(0),
1976
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema
1977
+ });
1978
+ var PushDeliveryStatusSchema = import_zod25.z.enum([
1979
+ "PENDING",
1980
+ "SENT",
1981
+ "FAILED",
1982
+ "SKIPPED"
1983
+ ]);
1984
+ var PushDeliveryAttemptResultSchema = import_zod25.z.enum([
1985
+ "SENT",
1986
+ "FAILED",
1987
+ "SKIPPED"
1988
+ ]);
1989
+ var PushDeliveryAttemptSummarySchema = import_zod25.z.object({
1990
+ attemptId: import_zod25.z.string().uuid(),
1991
+ outboxId: import_zod25.z.string().uuid(),
1992
+ pushTokenId: import_zod25.z.string().uuid().nullable(),
1993
+ provider: PushProviderSchema,
1994
+ result: PushDeliveryAttemptResultSchema,
1995
+ providerMessageId: import_zod25.z.string().nullable(),
1996
+ errorCode: import_zod25.z.string().nullable(),
1997
+ errorMessage: import_zod25.z.string().nullable(),
1998
+ invalidToken: import_zod25.z.boolean(),
1999
+ createdAt: ISODateTimeStringSchema
2000
+ });
2001
+ var PushDeliveryOutboxSummarySchema = import_zod25.z.object({
2002
+ outboxId: import_zod25.z.string().uuid(),
2003
+ notificationId: import_zod25.z.string().min(1),
2004
+ memberId: import_zod25.z.number().int().positive(),
2005
+ status: PushDeliveryStatusSchema,
2006
+ attemptCount: import_zod25.z.number().int().min(0),
2007
+ lastError: import_zod25.z.string().nullable(),
2008
+ nextAttemptAt: ISODateTimeStringSchema.nullable(),
2009
+ sentAt: ISODateTimeStringSchema.nullable(),
2010
+ createdAt: ISODateTimeStringSchema
2011
+ });
2012
+
2013
+ // src/domain/live-activity/live-activity.schema.ts
2014
+ var import_zod26 = require("zod");
2015
+ var MealPlanLiveActivityPlatformSchema = import_zod26.z.enum([
2016
+ "IOS_LIVE_ACTIVITY",
2017
+ "ANDROID_LIVE_UPDATE"
2018
+ ]);
2019
+ var MealPlanLiveActivitySessionStatusSchema = import_zod26.z.enum([
2020
+ "ACTIVE",
2021
+ "ENDED",
2022
+ "EXPIRED",
2023
+ "DISABLED"
2024
+ ]);
2025
+ var MealPlanLiveActivityUpdateStatusSchema = import_zod26.z.enum([
2026
+ "PENDING",
2027
+ "SENT",
2028
+ "FAILED",
2029
+ "SKIPPED"
2030
+ ]);
2031
+ var RegisterMealPlanLiveActivitySessionRequestSchema = import_zod26.z.object({
2032
+ platform: MealPlanLiveActivityPlatformSchema,
2033
+ deviceId: import_zod26.z.string().min(1).max(128),
2034
+ activityId: import_zod26.z.string().min(1).max(128),
2035
+ pushToken: import_zod26.z.string().min(10).optional(),
2036
+ appVersion: import_zod26.z.string().min(1).max(64).optional(),
2037
+ buildNumber: import_zod26.z.string().min(1).max(64).optional()
2038
+ });
2039
+ var EndMealPlanLiveActivitySessionRequestSchema = import_zod26.z.object({
2040
+ platform: MealPlanLiveActivityPlatformSchema.optional(),
2041
+ deviceId: import_zod26.z.string().min(1).max(128).optional(),
2042
+ activityId: import_zod26.z.string().min(1).max(128).optional()
2043
+ });
2044
+ var MealPlanLiveActivityStateSchema = import_zod26.z.object({
2045
+ mealPlanId: MealPlanIdSchema,
2046
+ title: import_zod26.z.string().min(1),
2047
+ status: import_zod26.z.string().min(1),
2048
+ scheduledAt: ISODateTimeStringSchema.nullable(),
2049
+ restaurantName: import_zod26.z.string().nullable(),
2050
+ placeName: import_zod26.z.string().nullable(),
2051
+ deepLink: import_zod26.z.string().min(1),
2052
+ progressLabel: import_zod26.z.string().min(1),
2053
+ updatedAt: ISODateTimeStringSchema
2054
+ });
2055
+ var MealPlanLiveActivitySessionResponseSchema = import_zod26.z.object({
2056
+ sessionId: import_zod26.z.string().uuid(),
2057
+ mealPlanId: MealPlanIdSchema,
2058
+ memberId: import_zod26.z.number().int().positive(),
2059
+ platform: MealPlanLiveActivityPlatformSchema,
2060
+ devicePlatform: PushPlatformSchema,
2061
+ deviceId: import_zod26.z.string(),
2062
+ activityId: import_zod26.z.string(),
2063
+ status: MealPlanLiveActivitySessionStatusSchema,
2064
+ appVersion: import_zod26.z.string().nullable(),
2065
+ buildNumber: import_zod26.z.string().nullable(),
2066
+ lastEventKind: MealPlanNotificationKindSchema.nullable(),
2067
+ lastBehavior: MealPlanLiveActivityBehaviorSchema.nullable(),
2068
+ lastUpdateStatus: MealPlanLiveActivityUpdateStatusSchema.nullable(),
2069
+ lastError: import_zod26.z.string().nullable(),
2070
+ startedAt: ISODateTimeStringSchema,
2071
+ endedAt: ISODateTimeStringSchema.nullable(),
2072
+ updatedAt: ISODateTimeStringSchema
2073
+ });
2074
+ var MealPlanLiveActivitySessionListResponseSchema = import_zod26.z.object({
2075
+ mealPlanId: MealPlanIdSchema,
2076
+ state: MealPlanLiveActivityStateSchema,
2077
+ sessions: import_zod26.z.array(MealPlanLiveActivitySessionResponseSchema)
783
2078
  });
784
2079
 
785
2080
  // src/domain/common/contracts/endpoint.ts
786
- var import_zod19 = require("zod");
787
- var NoBodySchema = import_zod19.z.undefined();
788
- var NoQuerySchema = import_zod19.z.undefined();
789
- var NoParamsSchema = import_zod19.z.undefined();
790
- var endpoint = (contract) => ({
2081
+ var import_zod27 = require("zod");
2082
+ var NoBodySchema = import_zod27.z.undefined();
2083
+ var NoQuerySchema = import_zod27.z.undefined();
2084
+ var NoParamsSchema = import_zod27.z.undefined();
2085
+ var endpoint = /* @__PURE__ */ __name((contract) => ({
791
2086
  method: contract.method,
792
2087
  path: contract.path,
793
2088
  pathParams: contract.pathParams ?? NoParamsSchema,
794
2089
  query: contract.query ?? NoQuerySchema,
795
2090
  body: contract.body ?? NoBodySchema,
796
2091
  response: contract.response
797
- });
2092
+ }), "endpoint");
798
2093
 
799
2094
  // src/domain/common/contracts/api.ts
800
- var memberIdParam = import_zod20.z.object({ memberId: MemberIdSchema });
801
- var articleIdParam = import_zod20.z.object({ articleId: ArticleIdSchema });
802
- var commentIdParam = import_zod20.z.object({ commentId: CommentIdSchema });
803
- var recruitIdParam = import_zod20.z.object({ recruitId: RecruitIdSchema });
804
- var roomIdParam = import_zod20.z.object({ roomId: RoomIdSchema });
805
- var invitationIdParam = import_zod20.z.object({ invitationId: InvitationIdSchema });
806
- var notificationIdParam = import_zod20.z.object({ notificationId: import_zod20.z.string().min(1) });
807
- var planIdParam = import_zod20.z.object({ planId: PlanIdSchema });
808
- var couponIdParam = import_zod20.z.object({ couponId: CouponIdSchema });
809
- var friendRequestIdParam = import_zod20.z.object({ requestId: FriendRequestIdSchema });
2095
+ var memberIdParam = import_zod28.z.object({
2096
+ memberId: MemberIdSchema
2097
+ });
2098
+ var articleIdParam = import_zod28.z.object({
2099
+ articleId: ArticleIdSchema
2100
+ });
2101
+ var commentIdParam = import_zod28.z.object({
2102
+ commentId: CommentIdSchema
2103
+ });
2104
+ var mealPlanIdParam = import_zod28.z.object({
2105
+ mealPlanId: MealPlanIdSchema
2106
+ });
2107
+ var mealPlanInviteIdParam = import_zod28.z.object({
2108
+ inviteId: MealPlanInviteIdSchema
2109
+ });
2110
+ var mealPlanJoinRequestIdParam = import_zod28.z.object({
2111
+ requestId: MealPlanJoinRequestIdSchema
2112
+ });
2113
+ var mealPlanDecisionStageIdParam = mealPlanIdParam.extend({
2114
+ stageId: MealPlanDecisionStageIdSchema
2115
+ });
2116
+ var mealPlanChangeRequestIdParam = mealPlanIdParam.extend({
2117
+ requestId: MealPlanChangeRequestIdSchema
2118
+ });
2119
+ var mealPlanDecisionTaskKeyParam = mealPlanIdParam.extend({
2120
+ taskKey: MealPlanDecisionTaskKeySchema
2121
+ });
2122
+ var mealPlanDecisionSnapshotIdParam = mealPlanIdParam.extend({
2123
+ snapshotId: import_zod28.z.string().uuid()
2124
+ });
2125
+ var mealPlanParticipantIdParam = mealPlanIdParam.extend({
2126
+ participantId: import_zod28.z.string().uuid()
2127
+ });
2128
+ var mealPlanShareTokenParam = import_zod28.z.object({
2129
+ token: MealPlanShareLinkTokenSchema
2130
+ });
2131
+ var notificationIdParam = import_zod28.z.object({
2132
+ notificationId: import_zod28.z.string().min(1)
2133
+ });
2134
+ var couponIdParam = import_zod28.z.object({
2135
+ couponId: CouponIdSchema
2136
+ });
2137
+ var mealGroupIdParam = import_zod28.z.object({
2138
+ mealGroupId: MealGroupIdSchema
2139
+ });
2140
+ var mealGroupMemberIdParam = mealGroupIdParam.extend({
2141
+ memberId: MemberIdSchema
2142
+ });
2143
+ var friendRequestIdParam = import_zod28.z.object({
2144
+ requestId: FriendRequestIdSchema
2145
+ });
2146
+ var sseTokenQuery = import_zod28.z.object({
2147
+ token: import_zod28.z.string().min(1)
2148
+ });
810
2149
  var apiContract = {
811
2150
  auth: {
812
- signup: endpoint({ method: "POST", path: "/auth/signup", body: SignupRequestSchema, response: SignupResponseSchema }),
813
- login: endpoint({ method: "POST", path: "/auth/login", body: LoginRequestSchema, response: TokenResponseSchema }),
814
- refresh: endpoint({ method: "POST", path: "/auth/refresh", response: TokenResponseSchema }),
815
- logout: endpoint({ method: "POST", path: "/auth/logout", response: NoContentSchema })
816
- // test: endpoint({method: "GET", path: "/auth/test", response: TokenResponseSchema}) TODO: Dev에서만 작동하도록 백엔드에서 수정해야함
2151
+ signup: endpoint({
2152
+ method: "POST",
2153
+ path: "/auth/signup",
2154
+ body: SignupRequestSchema,
2155
+ response: SignupResponseSchema
2156
+ }),
2157
+ login: endpoint({
2158
+ method: "POST",
2159
+ path: "/auth/login",
2160
+ body: LoginRequestSchema,
2161
+ response: TokenResponseSchema
2162
+ }),
2163
+ refresh: endpoint({
2164
+ method: "POST",
2165
+ path: "/auth/refresh",
2166
+ response: TokenResponseSchema
2167
+ }),
2168
+ logout: endpoint({
2169
+ method: "POST",
2170
+ path: "/auth/logout",
2171
+ response: NoContentSchema
2172
+ })
817
2173
  },
818
2174
  members: {
819
- me: endpoint({ method: "GET", path: "/members/me", response: MemberResponseSchema }),
820
- myProfile: endpoint({ method: "GET", path: "/members/me/profile", response: ProfileDetailResponseSchema }),
821
- search: endpoint({ method: "GET", path: "/members/search", query: MemberSearchQuerySchema, response: MemberSerachResponseSchema }),
822
- memberProfile: endpoint({ method: "GET", path: "/members/:memberId/profile", pathParams: memberIdParam, response: ProfileDetailResponseSchema }),
823
- presignProfileImage: endpoint({ method: "POST", path: "/uploads/presign-profile", body: UploadProfileImageRequestSchema, response: UploadProfileImageResponseSchema }),
824
- createProfile: endpoint({ method: "POST", path: "/members/onboarding", body: CreateProfileRequestSchema, response: NoContentSchema }),
825
- updateProfile: endpoint({ method: "PATCH", path: "/members/me/profile", body: UpdateProfileRequestSchema, response: NoContentSchema })
2175
+ me: endpoint({
2176
+ method: "GET",
2177
+ path: "/members/me",
2178
+ response: MemberResponseSchema
2179
+ }),
2180
+ myProfile: endpoint({
2181
+ method: "GET",
2182
+ path: "/members/me/profile",
2183
+ response: ProfileDetailResponseSchema
2184
+ }),
2185
+ search: endpoint({
2186
+ method: "GET",
2187
+ path: "/members/search",
2188
+ query: MemberSearchQuerySchema,
2189
+ response: MemberSerachResponseSchema
2190
+ }),
2191
+ memberProfile: endpoint({
2192
+ method: "GET",
2193
+ path: "/members/:memberId/profile",
2194
+ pathParams: memberIdParam,
2195
+ response: ProfileDetailResponseSchema
2196
+ }),
2197
+ presignProfileImage: endpoint({
2198
+ method: "POST",
2199
+ path: "/uploads/presign-profile",
2200
+ body: UploadProfileImageRequestSchema,
2201
+ response: UploadProfileImageResponseSchema
2202
+ }),
2203
+ createProfile: endpoint({
2204
+ method: "POST",
2205
+ path: "/members/onboarding",
2206
+ body: CreateProfileRequestSchema,
2207
+ response: NoContentSchema
2208
+ }),
2209
+ createProfileAlias: endpoint({
2210
+ method: "POST",
2211
+ path: "/onboarding",
2212
+ body: CreateProfileRequestSchema,
2213
+ response: NoContentSchema
2214
+ }),
2215
+ updateProfile: endpoint({
2216
+ method: "PATCH",
2217
+ path: "/members/me/profile",
2218
+ body: UpdateProfileRequestSchema,
2219
+ response: NoContentSchema
2220
+ }),
2221
+ locationSettings: endpoint({
2222
+ method: "GET",
2223
+ path: "/members/me/location-settings",
2224
+ response: MemberLocationSettingsResponseSchema
2225
+ }),
2226
+ updateLocationConsent: endpoint({
2227
+ method: "PATCH",
2228
+ path: "/members/me/location-consent",
2229
+ body: UpdateMemberLocationConsentRequestSchema,
2230
+ response: MemberLocationSettingsResponseSchema
2231
+ }),
2232
+ updateLocation: endpoint({
2233
+ method: "PATCH",
2234
+ path: "/members/me/location",
2235
+ body: UpdateMemberLocationRequestSchema,
2236
+ response: MemberLocationSettingsResponseSchema
2237
+ })
826
2238
  },
827
2239
  preferences: {
828
- my: endpoint({ method: "GET", path: "/preferences/me", response: MemberFoodPreferenceSchema }),
829
- update: endpoint({ method: "PATCH", path: "/preferences/me", body: UpdatePreferenceRequestSchema, response: NoContentSchema })
2240
+ my: endpoint({
2241
+ method: "GET",
2242
+ path: "/preferences/me",
2243
+ response: MemberFoodPreferenceSchema
2244
+ }),
2245
+ update: endpoint({
2246
+ method: "PATCH",
2247
+ path: "/preferences/me",
2248
+ body: UpdatePreferenceRequestSchema,
2249
+ response: NoContentSchema
2250
+ })
830
2251
  },
831
2252
  mealStatus: {
832
- my: endpoint({ method: "GET", path: "/members/me/meal-status", response: MealStatusResponseSchema }),
833
- updateMealStatus: endpoint({ method: "PATCH", path: "/members/me/meal-status", body: UpdateMealStatusRequestSchema, response: NoContentSchema }),
834
- friendMealStatus: endpoint({ method: "GET", path: "/friends/me/meals", query: FriendMealQuerySchema, response: import_zod20.z.array(FriendMealItemResponseSchema) })
2253
+ my: endpoint({
2254
+ method: "GET",
2255
+ path: "/members/me/meal-status",
2256
+ response: MealStatusResponseSchema
2257
+ }),
2258
+ updateMealStatus: endpoint({
2259
+ method: "PATCH",
2260
+ path: "/members/me/meal-status",
2261
+ body: UpdateMealStatusRequestSchema,
2262
+ response: NoContentSchema
2263
+ }),
2264
+ friendMealStatus: endpoint({
2265
+ method: "GET",
2266
+ path: "/friends/me/meals",
2267
+ query: FriendMealQuerySchema,
2268
+ response: import_zod28.z.array(FriendMealItemResponseSchema)
2269
+ })
835
2270
  },
836
2271
  articles: {
837
- list: endpoint({ method: "GET", path: "/articles/home", query: ArticleListQuerySchema, response: PageArticleSummaryResponseSchema }),
838
- byMember: endpoint({ method: "GET", path: "/articles/by-author/:memberId", pathParams: memberIdParam, query: ArticleListQuerySchema, response: PageArticleSummaryResponseSchema }),
839
- my: endpoint({ method: "GET", path: "/articles/my", response: PageArticleSummaryResponseSchema }),
840
- detail: endpoint({ method: "GET", path: "/articles/:articleId", pathParams: articleIdParam, response: ArticleDetailResponseSchema }),
841
- create: endpoint({ method: "POST", path: "/articles", body: CreateArticleRequestSchema, response: CreatedEntityIdResponseSchema }),
842
- like: endpoint({ method: "POST", path: "/articles/:articleId/like", pathParams: articleIdParam, response: ArticleLikeResponseSchema }),
843
- createComment: endpoint({ method: "POST", path: "/articles/:articleId/comments", pathParams: articleIdParam, body: CreateCommentRequestSchema, response: CreatedEntityIdResponseSchema }),
844
- presignArticleImage: endpoint({ method: "POST", path: "/uploads/presign-article", body: UploadArticleImageRequestSchema, response: UploadArticleImageResponseSchema }),
845
- delete: endpoint({ method: "DELETE", path: "/articles/:articleId", pathParams: articleIdParam, response: NoContentSchema }),
846
- deleteComment: endpoint({ method: "DELETE", path: "/articles/comments/:commentId", pathParams: commentIdParam, response: NoContentSchema })
847
- // TODO: 게시물 수정 기능
2272
+ list: endpoint({
2273
+ method: "GET",
2274
+ path: "/articles/home",
2275
+ query: ArticleListQuerySchema,
2276
+ response: PageArticleSummaryResponseSchema
2277
+ }),
2278
+ byMember: endpoint({
2279
+ method: "GET",
2280
+ path: "/articles/by-author/:memberId",
2281
+ pathParams: memberIdParam,
2282
+ query: ArticleListQuerySchema,
2283
+ response: PageArticleSummaryResponseSchema
2284
+ }),
2285
+ my: endpoint({
2286
+ method: "GET",
2287
+ path: "/articles/my",
2288
+ response: PageArticleSummaryResponseSchema
2289
+ }),
2290
+ detail: endpoint({
2291
+ method: "GET",
2292
+ path: "/articles/:articleId",
2293
+ pathParams: articleIdParam,
2294
+ response: ArticleDetailResponseSchema
2295
+ }),
2296
+ create: endpoint({
2297
+ method: "POST",
2298
+ path: "/articles",
2299
+ body: CreateArticleRequestSchema,
2300
+ response: CreatedEntityIdResponseSchema
2301
+ }),
2302
+ like: endpoint({
2303
+ method: "POST",
2304
+ path: "/articles/:articleId/like",
2305
+ pathParams: articleIdParam,
2306
+ response: ArticleLikeResponseSchema
2307
+ }),
2308
+ createComment: endpoint({
2309
+ method: "POST",
2310
+ path: "/articles/:articleId/comments",
2311
+ pathParams: articleIdParam,
2312
+ body: CreateCommentRequestSchema,
2313
+ response: CreatedEntityIdResponseSchema
2314
+ }),
2315
+ presignArticleImage: endpoint({
2316
+ method: "POST",
2317
+ path: "/uploads/presign-article",
2318
+ body: UploadArticleImageRequestSchema,
2319
+ response: UploadArticleImageResponseSchema
2320
+ }),
2321
+ delete: endpoint({
2322
+ method: "DELETE",
2323
+ path: "/articles/:articleId",
2324
+ pathParams: articleIdParam,
2325
+ response: NoContentSchema
2326
+ }),
2327
+ deleteComment: endpoint({
2328
+ method: "DELETE",
2329
+ path: "/articles/comments/:commentId",
2330
+ pathParams: commentIdParam,
2331
+ response: NoContentSchema
2332
+ })
848
2333
  },
849
- recruits: {
850
- list: endpoint({ method: "GET", path: "/recruits", query: RecruitListQuerySchema, response: RecruitListResponseSchema }),
851
- create: endpoint({ method: "POST", path: "/recruits", body: CreateRecruitRequestSchema, response: CreateRecruitResponseSchema }),
852
- join: endpoint({ method: "POST", path: "/recruits/:recruitId/join", pathParams: recruitIdParam, response: NoContentSchema }),
853
- close: endpoint({ method: "POST", path: "/recruits/:recruitId/close", pathParams: recruitIdParam, response: NoContentSchema })
2334
+ mealPlans: {
2335
+ create: endpoint({
2336
+ method: "POST",
2337
+ path: "/meal-plans",
2338
+ body: CreateMealPlanRequestSchema,
2339
+ response: CreateMealPlanResponseSchema
2340
+ }),
2341
+ my: endpoint({
2342
+ method: "GET",
2343
+ path: "/meal-plans/me",
2344
+ response: MyMealPlanListResponseSchema
2345
+ }),
2346
+ homeDashboard: endpoint({
2347
+ method: "GET",
2348
+ path: "/meal-plans/home-dashboard",
2349
+ response: HomeMealPlanDashboardResponseSchema
2350
+ }),
2351
+ map: endpoint({
2352
+ method: "GET",
2353
+ path: "/meal-plans/map",
2354
+ query: MealMapQuerySchema,
2355
+ response: MealMapResponseSchema
2356
+ }),
2357
+ detail: endpoint({
2358
+ method: "GET",
2359
+ path: "/meal-plans/:mealPlanId",
2360
+ pathParams: mealPlanIdParam,
2361
+ response: MealPlanResponseSchema
2362
+ }),
2363
+ chatMessages: endpoint({
2364
+ method: "GET",
2365
+ path: "/meal-plans/:mealPlanId/chat/messages",
2366
+ pathParams: mealPlanIdParam,
2367
+ response: MealPlanChatMessageListResponseSchema
2368
+ }),
2369
+ updateContext: endpoint({
2370
+ method: "PATCH",
2371
+ path: "/meal-plans/:mealPlanId/context",
2372
+ pathParams: mealPlanIdParam,
2373
+ body: UpdateMealPlanContextRequestSchema,
2374
+ response: MealPlanResponseSchema
2375
+ }),
2376
+ complete: endpoint({
2377
+ method: "POST",
2378
+ path: "/meal-plans/:mealPlanId/complete",
2379
+ pathParams: mealPlanIdParam,
2380
+ response: MealPlanResponseSchema
2381
+ }),
2382
+ cancel: endpoint({
2383
+ method: "POST",
2384
+ path: "/meal-plans/:mealPlanId/cancel",
2385
+ pathParams: mealPlanIdParam,
2386
+ response: MealPlanResponseSchema
2387
+ }),
2388
+ removeParticipant: endpoint({
2389
+ method: "POST",
2390
+ path: "/meal-plans/:mealPlanId/participants/:participantId/remove",
2391
+ pathParams: mealPlanParticipantIdParam,
2392
+ response: MealPlanResponseSchema
2393
+ }),
2394
+ recorded: endpoint({
2395
+ method: "POST",
2396
+ path: "/meal-plans/:mealPlanId/recorded",
2397
+ pathParams: mealPlanIdParam,
2398
+ response: MealPlanResponseSchema
2399
+ }),
2400
+ invite: endpoint({
2401
+ method: "POST",
2402
+ path: "/meal-plans/:mealPlanId/invites",
2403
+ pathParams: mealPlanIdParam,
2404
+ body: CreateMealPlanInviteRequestSchema,
2405
+ response: SendMealPlanInviteResponseSchema
2406
+ }),
2407
+ receivedInvites: endpoint({
2408
+ method: "GET",
2409
+ path: "/meal-plans/invites/received",
2410
+ response: MealPlanInviteListResponseSchema
2411
+ }),
2412
+ sentInvites: endpoint({
2413
+ method: "GET",
2414
+ path: "/meal-plans/invites/sent",
2415
+ response: MealPlanInviteListResponseSchema
2416
+ }),
2417
+ acceptInvite: endpoint({
2418
+ method: "POST",
2419
+ path: "/meal-plans/invites/:inviteId/accept",
2420
+ pathParams: mealPlanInviteIdParam,
2421
+ response: MealPlanResponseSchema
2422
+ }),
2423
+ declineInvite: endpoint({
2424
+ method: "POST",
2425
+ path: "/meal-plans/invites/:inviteId/decline",
2426
+ pathParams: mealPlanInviteIdParam,
2427
+ response: NoContentSchema
2428
+ }),
2429
+ createShareLink: endpoint({
2430
+ method: "POST",
2431
+ path: "/meal-plans/:mealPlanId/share-links",
2432
+ pathParams: mealPlanIdParam,
2433
+ body: CreateMealPlanShareLinkRequestSchema,
2434
+ response: MealPlanShareLinkSummarySchema
2435
+ }),
2436
+ sharePreview: endpoint({
2437
+ method: "GET",
2438
+ path: "/meal-plan-links/:token",
2439
+ pathParams: mealPlanShareTokenParam,
2440
+ response: MealPlanSharePreviewResponseSchema
2441
+ }),
2442
+ joinGuest: endpoint({
2443
+ method: "POST",
2444
+ path: "/meal-plan-links/:token/join",
2445
+ pathParams: mealPlanShareTokenParam,
2446
+ body: JoinMealPlanGuestRequestSchema,
2447
+ response: JoinMealPlanGuestResponseSchema
2448
+ }),
2449
+ guestSession: endpoint({
2450
+ method: "GET",
2451
+ path: "/meal-plan-links/:token/session",
2452
+ pathParams: mealPlanShareTokenParam,
2453
+ query: MealPlanGuestSessionQuerySchema,
2454
+ response: MealPlanGuestSessionResponseSchema
2455
+ }),
2456
+ guestChatMessages: endpoint({
2457
+ method: "GET",
2458
+ path: "/meal-plan-links/:token/chat/messages",
2459
+ pathParams: mealPlanShareTokenParam,
2460
+ query: MealPlanGuestSessionQuerySchema,
2461
+ response: MealPlanChatMessageListResponseSchema
2462
+ }),
2463
+ exposeNearbyFriends: endpoint({
2464
+ method: "POST",
2465
+ path: "/meal-plans/:mealPlanId/nearby-friends/expose",
2466
+ pathParams: mealPlanIdParam,
2467
+ body: ExposeMealPlanToNearbyFriendsRequestSchema,
2468
+ response: ExposeMealPlanToNearbyFriendsResponseSchema
2469
+ }),
2470
+ closeNearbyFriends: endpoint({
2471
+ method: "DELETE",
2472
+ path: "/meal-plans/:mealPlanId/nearby-friends/expose",
2473
+ pathParams: mealPlanIdParam,
2474
+ response: NoContentSchema
2475
+ }),
2476
+ nearbyFriendExposureEligibility: endpoint({
2477
+ method: "GET",
2478
+ path: "/meal-plans/nearby-friends/eligibility",
2479
+ response: NearbyFriendExposureEligibilitySchema
2480
+ }),
2481
+ nearbyFriends: endpoint({
2482
+ method: "GET",
2483
+ path: "/meal-plans/nearby-friends",
2484
+ response: import_zod28.z.array(NearbyFriendMealPlanSummarySchema)
2485
+ }),
2486
+ requestJoin: endpoint({
2487
+ method: "POST",
2488
+ path: "/meal-plans/:mealPlanId/join-requests",
2489
+ pathParams: mealPlanIdParam,
2490
+ body: CreateMealPlanJoinRequestSchema,
2491
+ response: CreatedEntityIdResponseSchema
2492
+ }),
2493
+ acceptJoinRequest: endpoint({
2494
+ method: "POST",
2495
+ path: "/meal-plans/join-requests/:requestId/accept",
2496
+ pathParams: mealPlanJoinRequestIdParam,
2497
+ response: MealPlanResponseSchema
2498
+ }),
2499
+ rejectJoinRequest: endpoint({
2500
+ method: "POST",
2501
+ path: "/meal-plans/join-requests/:requestId/reject",
2502
+ pathParams: mealPlanJoinRequestIdParam,
2503
+ response: NoContentSchema
2504
+ }),
2505
+ vote: endpoint({
2506
+ method: "POST",
2507
+ path: "/meal-plans/:mealPlanId/stages/:stageId/votes",
2508
+ pathParams: mealPlanDecisionStageIdParam,
2509
+ body: CreateMealPlanVoteRequestSchema,
2510
+ response: MealPlanResponseSchema
2511
+ }),
2512
+ completeStage: endpoint({
2513
+ method: "POST",
2514
+ path: "/meal-plans/:mealPlanId/stages/:stageId/complete",
2515
+ pathParams: mealPlanDecisionStageIdParam,
2516
+ body: CompleteMealPlanDecisionStageRequestSchema,
2517
+ response: MealPlanResponseSchema
2518
+ }),
2519
+ decisionProgress: endpoint({
2520
+ method: "GET",
2521
+ path: "/meal-plans/:mealPlanId/decision-progress",
2522
+ pathParams: mealPlanIdParam,
2523
+ response: MealPlanDecisionProgressSchema
2524
+ }),
2525
+ readyDecisionTask: endpoint({
2526
+ method: "POST",
2527
+ path: "/meal-plans/:mealPlanId/decision-tasks/:taskKey/ready",
2528
+ pathParams: mealPlanDecisionTaskKeyParam,
2529
+ body: MealPlanDecisionTaskReadyRequestSchema,
2530
+ response: MealPlanResponseSchema
2531
+ }),
2532
+ reopenDecisionTask: endpoint({
2533
+ method: "POST",
2534
+ path: "/meal-plans/:mealPlanId/decision-tasks/:taskKey/reopen",
2535
+ pathParams: mealPlanDecisionTaskKeyParam,
2536
+ body: ReopenMealPlanDecisionTaskRequestSchema,
2537
+ response: MealPlanResponseSchema
2538
+ }),
2539
+ confirmDecisionSnapshot: endpoint({
2540
+ method: "POST",
2541
+ path: "/meal-plans/:mealPlanId/decision-snapshots/:snapshotId/confirm",
2542
+ pathParams: mealPlanDecisionSnapshotIdParam,
2543
+ body: ConfirmMealPlanDecisionSnapshotRequestSchema,
2544
+ response: MealPlanResponseSchema
2545
+ }),
2546
+ ready: endpoint({
2547
+ method: "POST",
2548
+ path: "/meal-plans/:mealPlanId/ready",
2549
+ pathParams: mealPlanIdParam,
2550
+ response: MealPlanResponseSchema
2551
+ }),
2552
+ unready: endpoint({
2553
+ method: "POST",
2554
+ path: "/meal-plans/:mealPlanId/unready",
2555
+ pathParams: mealPlanIdParam,
2556
+ response: MealPlanResponseSchema
2557
+ }),
2558
+ createChangeRequest: endpoint({
2559
+ method: "POST",
2560
+ path: "/meal-plans/:mealPlanId/change-requests",
2561
+ pathParams: mealPlanIdParam,
2562
+ body: CreateMealPlanChangeRequestSchema,
2563
+ response: CreatedEntityIdResponseSchema
2564
+ }),
2565
+ acceptChangeRequest: endpoint({
2566
+ method: "POST",
2567
+ path: "/meal-plans/:mealPlanId/change-requests/:requestId/accept",
2568
+ pathParams: mealPlanChangeRequestIdParam,
2569
+ response: MealPlanResponseSchema
2570
+ }),
2571
+ confirm: endpoint({
2572
+ method: "POST",
2573
+ path: "/meal-plans/:mealPlanId/confirm",
2574
+ pathParams: mealPlanIdParam,
2575
+ response: MealPlanResponseSchema
2576
+ })
854
2577
  },
855
- invitations: {
856
- list: endpoint({ method: "GET", path: "/invitations", response: import_zod20.z.array(InvitationListItemResponseSchema) }),
857
- // TODO: Invitation Response 정하기 detail: endpoint({ method: "GET", path: "/invitations/:invitationId", pathParams: invitationIdParam, response: InvitationItemDetailResponseSchema }),
858
- send: endpoint({ method: "POST", path: "/invitations/send", body: CreateInvitationRequestSchema, response: SendInvitationResponseSchema }),
859
- accept: endpoint({ method: "POST", path: "/invitations/:invitationId/accept", pathParams: invitationIdParam, response: AcceptInvitationResponseSchema }),
860
- reject: endpoint({ method: "POST", path: "/invitations/:invitationId/reject", pathParams: invitationIdParam, response: NoContentSchema })
861
- },
862
- plans: {
863
- list: endpoint({ method: "GET", path: "/plans", query: PlanListQuerySchema, response: import_zod20.z.array(PlanResponseSchema) }),
864
- detail: endpoint({ method: "GET", path: "/plans/:planId", pathParams: planIdParam, response: PlanResponseSchema }),
865
- cancel: endpoint({ method: "PATCH", path: "/plans/:planId/cancel", pathParams: planIdParam, response: NoContentSchema })
2578
+ mealGroups: {
2579
+ create: endpoint({
2580
+ method: "POST",
2581
+ path: "/meal-groups",
2582
+ body: CreateMealGroupRequestSchema,
2583
+ response: MealGroupResponseSchema
2584
+ }),
2585
+ list: endpoint({
2586
+ method: "GET",
2587
+ path: "/meal-groups",
2588
+ response: import_zod28.z.array(MealGroupResponseSchema)
2589
+ }),
2590
+ detail: endpoint({
2591
+ method: "GET",
2592
+ path: "/meal-groups/:mealGroupId",
2593
+ pathParams: mealGroupIdParam,
2594
+ response: MealGroupResponseSchema
2595
+ }),
2596
+ startMealPlan: endpoint({
2597
+ method: "POST",
2598
+ path: "/meal-groups/:mealGroupId/meal-plans",
2599
+ pathParams: mealGroupIdParam,
2600
+ body: StartMealPlanFromGroupRequestSchema,
2601
+ response: CreateMealPlanResponseSchema
2602
+ }),
2603
+ history: endpoint({
2604
+ method: "GET",
2605
+ path: "/meal-groups/:mealGroupId/history",
2606
+ pathParams: mealGroupIdParam,
2607
+ response: MealGroupHistoryResponseSchema
2608
+ }),
2609
+ preferences: endpoint({
2610
+ method: "GET",
2611
+ path: "/meal-groups/:mealGroupId/preferences",
2612
+ pathParams: mealGroupIdParam,
2613
+ response: MealGroupPreferenceSummarySchema
2614
+ }),
2615
+ addMember: endpoint({
2616
+ method: "POST",
2617
+ path: "/meal-groups/:mealGroupId/members",
2618
+ pathParams: mealGroupIdParam,
2619
+ body: AddMealGroupMemberRequestSchema,
2620
+ response: MealGroupResponseSchema
2621
+ }),
2622
+ updateMemberRole: endpoint({
2623
+ method: "PATCH",
2624
+ path: "/meal-groups/:mealGroupId/members/:memberId/role",
2625
+ pathParams: mealGroupMemberIdParam,
2626
+ body: UpdateMealGroupMemberRoleRequestSchema,
2627
+ response: MealGroupResponseSchema
2628
+ }),
2629
+ removeMember: endpoint({
2630
+ method: "DELETE",
2631
+ path: "/meal-groups/:mealGroupId/members/:memberId",
2632
+ pathParams: mealGroupMemberIdParam,
2633
+ response: MealGroupResponseSchema
2634
+ })
866
2635
  },
867
2636
  friends: {
868
- list: endpoint({ method: "GET", path: "/friends", response: import_zod20.z.array(FriendListItemResponseSchema) }),
869
- blockList: endpoint({ method: "GET", path: "/friends/blocks", response: import_zod20.z.array(FriendBlockItemResponseSchema) }),
870
- search: endpoint({ method: "GET", path: "/friends/search", query: MemberSearchQuerySchema, response: MemberSerachResponseSchema }),
871
- incomingRequest: endpoint({ method: "GET", path: "/friends/requests/incoming", response: import_zod20.z.array(FriendRequestItemResponseSchema) }),
872
- outgoingRequest: endpoint({ method: "GET", path: "/friends/requests/outgoing", response: import_zod20.z.array(FriendRequestItemResponseSchema) }),
873
- sendRequest: endpoint({ method: "POST", path: "/friends/requests/:memberId", pathParams: memberIdParam, response: NoContentSchema }),
874
- acceptRequest: endpoint({ method: "POST", path: "/friends/requests/:requestId/accept", pathParams: friendRequestIdParam, response: NoContentSchema }),
875
- rejectRequest: endpoint({ method: "POST", path: "/friends/requests/:requestId/reject", pathParams: friendRequestIdParam, response: NoContentSchema }),
876
- block: endpoint({ method: "POST", path: "/friends/blocks/:memberId", pathParams: memberIdParam, response: NoContentSchema }),
877
- cancelRequest: endpoint({ method: "DELETE", path: "/friends/requests/:requestId", pathParams: friendRequestIdParam, response: NoContentSchema }),
878
- unblock: endpoint({ method: "DELETE", path: "/friends/blocks/:memberId", pathParams: memberIdParam, response: NoContentSchema }),
879
- unfriend: endpoint({ method: "DELETE", path: "/friends/:memberId", pathParams: memberIdParam, response: NoContentSchema })
2637
+ list: endpoint({
2638
+ method: "GET",
2639
+ path: "/friends",
2640
+ response: import_zod28.z.array(FriendListItemResponseSchema)
2641
+ }),
2642
+ blockList: endpoint({
2643
+ method: "GET",
2644
+ path: "/friends/blocks",
2645
+ response: import_zod28.z.array(FriendBlockItemResponseSchema)
2646
+ }),
2647
+ search: endpoint({
2648
+ method: "GET",
2649
+ path: "/friends/search",
2650
+ query: MemberSearchQuerySchema,
2651
+ response: MemberSerachResponseSchema
2652
+ }),
2653
+ incomingRequest: endpoint({
2654
+ method: "GET",
2655
+ path: "/friends/requests/incoming",
2656
+ response: import_zod28.z.array(FriendRequestItemResponseSchema)
2657
+ }),
2658
+ outgoingRequest: endpoint({
2659
+ method: "GET",
2660
+ path: "/friends/requests/outgoing",
2661
+ response: import_zod28.z.array(FriendRequestItemResponseSchema)
2662
+ }),
2663
+ sendRequest: endpoint({
2664
+ method: "POST",
2665
+ path: "/friends/requests/:memberId",
2666
+ pathParams: memberIdParam,
2667
+ response: NoContentSchema
2668
+ }),
2669
+ acceptRequest: endpoint({
2670
+ method: "POST",
2671
+ path: "/friends/requests/:requestId/accept",
2672
+ pathParams: friendRequestIdParam,
2673
+ response: NoContentSchema
2674
+ }),
2675
+ rejectRequest: endpoint({
2676
+ method: "POST",
2677
+ path: "/friends/requests/:requestId/reject",
2678
+ pathParams: friendRequestIdParam,
2679
+ response: NoContentSchema
2680
+ }),
2681
+ block: endpoint({
2682
+ method: "POST",
2683
+ path: "/friends/blocks/:memberId",
2684
+ pathParams: memberIdParam,
2685
+ response: NoContentSchema
2686
+ }),
2687
+ cancelRequest: endpoint({
2688
+ method: "DELETE",
2689
+ path: "/friends/requests/:requestId",
2690
+ pathParams: friendRequestIdParam,
2691
+ response: NoContentSchema
2692
+ }),
2693
+ unblock: endpoint({
2694
+ method: "DELETE",
2695
+ path: "/friends/blocks/:memberId",
2696
+ pathParams: memberIdParam,
2697
+ response: NoContentSchema
2698
+ }),
2699
+ unfriend: endpoint({
2700
+ method: "DELETE",
2701
+ path: "/friends/:memberId",
2702
+ pathParams: memberIdParam,
2703
+ response: NoContentSchema
2704
+ })
880
2705
  },
881
2706
  coupons: {
882
- list: endpoint({ method: "GET", path: "/coupons", response: import_zod20.z.array(CouponResponseSchema) }),
883
- use: endpoint({ method: "POST", path: "/coupons/:couponId/use", pathParams: couponIdParam, response: NoContentSchema })
2707
+ list: endpoint({
2708
+ method: "GET",
2709
+ path: "/coupons",
2710
+ response: import_zod28.z.array(CouponResponseSchema)
2711
+ }),
2712
+ use: endpoint({
2713
+ method: "POST",
2714
+ path: "/coupons/:couponId/use",
2715
+ pathParams: couponIdParam,
2716
+ response: NoContentSchema
2717
+ })
884
2718
  },
885
2719
  challenges: {
886
- status: endpoint({ method: "GET", path: "/challenges/status", response: ChallengeStatusResponseSchema }),
887
- claimReward: endpoint({ method: "POST", path: "/challenges/rewards", body: ClaimChallengeRewardRequestSchema, response: NoContentSchema })
2720
+ status: endpoint({
2721
+ method: "GET",
2722
+ path: "/challenges/status",
2723
+ response: ChallengeStatusResponseSchema
2724
+ }),
2725
+ claimReward: endpoint({
2726
+ method: "POST",
2727
+ path: "/challenges/rewards",
2728
+ body: ClaimChallengeRewardRequestSchema,
2729
+ response: NoContentSchema
2730
+ })
888
2731
  },
889
2732
  referrals: {
890
- list: endpoint({ method: "GET", path: "/referrals", response: import_zod20.z.array(ReferralItemResponseSchema) }),
891
- create: endpoint({ method: "POST", path: "/referrals", response: ReferralCreateResponseSchema }),
892
- redeem: endpoint({ method: "POST", path: "/referrals/redeem", body: RedeemReferralRequestSchema, response: NoContentSchema })
2733
+ list: endpoint({
2734
+ method: "GET",
2735
+ path: "/referrals",
2736
+ response: import_zod28.z.array(ReferralItemResponseSchema)
2737
+ }),
2738
+ create: endpoint({
2739
+ method: "POST",
2740
+ path: "/referrals",
2741
+ response: ReferralCreateResponseSchema
2742
+ }),
2743
+ redeem: endpoint({
2744
+ method: "POST",
2745
+ path: "/referrals/redeem",
2746
+ body: RedeemReferralRequestSchema,
2747
+ response: NoContentSchema
2748
+ })
893
2749
  },
894
2750
  notifications: {
895
- list: endpoint({ method: "GET", path: "/notifications", response: import_zod20.z.array(MatchingNotificationSchema) }),
896
- markRead: endpoint({ method: "PATCH", path: "/notifications/:notificationId/read", pathParams: notificationIdParam, response: MatchingNotificationSchema }),
897
- delete: endpoint({ method: "DELETE", path: "/notifications/:notificationId", pathParams: notificationIdParam, response: NoContentSchema })
2751
+ list: endpoint({
2752
+ method: "GET",
2753
+ path: "/notifications",
2754
+ response: import_zod28.z.array(MealPlanNotificationSchema)
2755
+ }),
2756
+ markRead: endpoint({
2757
+ method: "PATCH",
2758
+ path: "/notifications/:notificationId/read",
2759
+ pathParams: notificationIdParam,
2760
+ response: MealPlanNotificationSchema
2761
+ }),
2762
+ delete: endpoint({
2763
+ method: "DELETE",
2764
+ path: "/notifications/:notificationId",
2765
+ pathParams: notificationIdParam,
2766
+ response: NoContentSchema
2767
+ })
2768
+ },
2769
+ pushTokens: {
2770
+ list: endpoint({
2771
+ method: "GET",
2772
+ path: "/push-tokens",
2773
+ response: import_zod28.z.array(PushTokenResponseSchema)
2774
+ }),
2775
+ register: endpoint({
2776
+ method: "POST",
2777
+ path: "/push-tokens",
2778
+ body: RegisterPushTokenRequestSchema,
2779
+ response: PushTokenResponseSchema
2780
+ }),
2781
+ revoke: endpoint({
2782
+ method: "POST",
2783
+ path: "/push-tokens/revoke",
2784
+ body: RevokePushTokenRequestSchema,
2785
+ response: NoContentSchema
2786
+ })
898
2787
  },
899
- room: {
900
- access: endpoint({ method: "GET", path: "/rooms/:roomId/access", pathParams: roomIdParam, response: RoomAccessResponseSchema })
2788
+ liveActivities: {
2789
+ listMealPlanSessions: endpoint({
2790
+ method: "GET",
2791
+ path: "/meal-plans/:mealPlanId/live-activity",
2792
+ pathParams: mealPlanIdParam,
2793
+ response: MealPlanLiveActivitySessionListResponseSchema
2794
+ }),
2795
+ registerMealPlanSession: endpoint({
2796
+ method: "POST",
2797
+ path: "/meal-plans/:mealPlanId/live-activity/sessions",
2798
+ pathParams: mealPlanIdParam,
2799
+ body: RegisterMealPlanLiveActivitySessionRequestSchema,
2800
+ response: MealPlanLiveActivitySessionResponseSchema
2801
+ }),
2802
+ endMealPlanSessions: endpoint({
2803
+ method: "POST",
2804
+ path: "/meal-plans/:mealPlanId/live-activity/end",
2805
+ pathParams: mealPlanIdParam,
2806
+ body: EndMealPlanLiveActivitySessionRequestSchema,
2807
+ response: NoContentSchema
2808
+ })
2809
+ },
2810
+ sse: {
2811
+ notifications: endpoint({
2812
+ method: "GET",
2813
+ path: "/sse/notifications",
2814
+ query: sseTokenQuery,
2815
+ response: import_zod28.z.any()
2816
+ })
901
2817
  },
902
2818
  health: {
903
- healthCheck: endpoint({ method: "GET", path: "/", response: import_zod20.z.string() })
2819
+ healthCheck: endpoint({
2820
+ method: "GET",
2821
+ path: "/",
2822
+ response: import_zod28.z.string()
2823
+ })
904
2824
  }
905
2825
  };
906
2826
 
2827
+ // src/domain/common/contracts/cache-invalidation.ts
2828
+ var CACHE_INVALIDATION_SSE_EVENT = "cache-invalidate";
2829
+
907
2830
  // src/domain/common/contracts/envelope.ts
908
2831
  var makeApiResponseSchema = ApiResponseSchema;
909
2832
  var makeApiSuccessSchema = ApiSuccessSchema;
910
2833
 
911
2834
  // src/domain/common/contracts/id.ts
912
- var toMemberId = (value) => MemberIdSchema.parse(value);
913
- var toArticleId = (value) => ArticleIdSchema.parse(value);
914
- var toRecruitId = (value) => RecruitIdSchema.parse(value);
915
- var toInvitationId = (value) => InvitationIdSchema.parse(value);
916
- var toRoomId = (value) => RoomIdSchema.parse(value);
917
- var toRestaurantId = (value) => RestaurantIdSchema.parse(value);
918
- var toCommentId = (value) => CommentIdSchema.parse(value);
919
- var toPlanId = (value) => PlanIdSchema.parse(value);
920
- var toCouponId = (value) => CouponIdSchema.parse(value);
921
- var toSubscriptionId = (value) => SubscriptionIdSchema.parse(value);
922
- var toFriendRequestId = (value) => FriendRequestIdSchema.parse(value);
923
- var toReferralCode = (value) => ReferralCodeSchema.parse(value);
2835
+ var toMemberId = /* @__PURE__ */ __name((value) => MemberIdSchema.parse(value), "toMemberId");
2836
+ var toArticleId = /* @__PURE__ */ __name((value) => ArticleIdSchema.parse(value), "toArticleId");
2837
+ var toMealPlanId = /* @__PURE__ */ __name((value) => MealPlanIdSchema.parse(value), "toMealPlanId");
2838
+ var toMealPlanInviteId = /* @__PURE__ */ __name((value) => MealPlanInviteIdSchema.parse(value), "toMealPlanInviteId");
2839
+ var toMealPlanJoinRequestId = /* @__PURE__ */ __name((value) => MealPlanJoinRequestIdSchema.parse(value), "toMealPlanJoinRequestId");
2840
+ var toMealPlanNearbyFriendExposureBatchId = /* @__PURE__ */ __name((value) => MealPlanNearbyFriendExposureBatchIdSchema.parse(value), "toMealPlanNearbyFriendExposureBatchId");
2841
+ var toMealPlanChangeRequestId = /* @__PURE__ */ __name((value) => MealPlanChangeRequestIdSchema.parse(value), "toMealPlanChangeRequestId");
2842
+ var toMealPlanShareLinkId = /* @__PURE__ */ __name((value) => MealPlanShareLinkIdSchema.parse(value), "toMealPlanShareLinkId");
2843
+ var toMealPlanShareLinkToken = /* @__PURE__ */ __name((value) => MealPlanShareLinkTokenSchema.parse(value), "toMealPlanShareLinkToken");
2844
+ var toMealPlanChatRoomId = /* @__PURE__ */ __name((value) => MealPlanChatRoomIdSchema.parse(value), "toMealPlanChatRoomId");
2845
+ var toMealPlanChatMessageId = /* @__PURE__ */ __name((value) => MealPlanChatMessageIdSchema.parse(value), "toMealPlanChatMessageId");
2846
+ var toMealGroupId = /* @__PURE__ */ __name((value) => MealGroupIdSchema.parse(value), "toMealGroupId");
2847
+ var toRestaurantId = /* @__PURE__ */ __name((value) => RestaurantIdSchema.parse(value), "toRestaurantId");
2848
+ var toCommentId = /* @__PURE__ */ __name((value) => CommentIdSchema.parse(value), "toCommentId");
2849
+ var toCouponId = /* @__PURE__ */ __name((value) => CouponIdSchema.parse(value), "toCouponId");
2850
+ var toSubscriptionId = /* @__PURE__ */ __name((value) => SubscriptionIdSchema.parse(value), "toSubscriptionId");
2851
+ var toFriendRequestId = /* @__PURE__ */ __name((value) => FriendRequestIdSchema.parse(value), "toFriendRequestId");
2852
+ var toReferralCode = /* @__PURE__ */ __name((value) => ReferralCodeSchema.parse(value), "toReferralCode");
2853
+
2854
+ // src/domain/food/food.contracts.ts
2855
+ var FOOD_CODE_MANIFEST_PATH = "/manifests/food-code-manifest.json";
2856
+ var AI_CLASS_TO_FOOD_CODE_MAP_PATH = "/manifests/ai-class-to-food-code-map.json";
2857
+ var FOOD_IMAGE_INDEX_PATH = "/manifests/food-image-index.json";
2858
+
2859
+ // src/domain/food/food.schema.ts
2860
+ var import_zod29 = require("zod");
2861
+ var FoodGranularitySchema = import_zod29.z.enum([
2862
+ "main_dish",
2863
+ "side_dish",
2864
+ "beverage",
2865
+ "sauce"
2866
+ ]);
2867
+ var CuisineTagSchema = import_zod29.z.enum([
2868
+ "korean",
2869
+ "western",
2870
+ "chinese",
2871
+ "japanese",
2872
+ "mexican",
2873
+ "indian",
2874
+ "asian",
2875
+ "snack",
2876
+ "dessert",
2877
+ "beverage",
2878
+ "unknown"
2879
+ ]);
2880
+ var FoodResolvedMatchSourceSchema = import_zod29.z.enum([
2881
+ "category",
2882
+ "alias",
2883
+ "lexical",
2884
+ "semantic"
2885
+ ]);
2886
+ var FoodCodeManifestImageSchema = import_zod29.z.object({
2887
+ src: import_zod29.z.string().min(1),
2888
+ avifSrcset: import_zod29.z.string().min(1).optional(),
2889
+ thumbhashDataURL: import_zod29.z.string().min(1).optional(),
2890
+ aspectRatio: import_zod29.z.number().positive().optional()
2891
+ });
2892
+ var FoodCodeManifestItemSchema = import_zod29.z.object({
2893
+ code: FoodCodeSchema,
2894
+ label: FoodLabelSchema,
2895
+ aliases: import_zod29.z.array(import_zod29.z.string().min(1)).default([]),
2896
+ parentCategory: import_zod29.z.string().min(1),
2897
+ cuisineTags: import_zod29.z.array(CuisineTagSchema).default([]),
2898
+ categoryTags: import_zod29.z.array(import_zod29.z.string().min(1)).default([]),
2899
+ semanticTags: import_zod29.z.array(import_zod29.z.string().min(1)).default([]),
2900
+ granularity: FoodGranularitySchema,
2901
+ searchable: import_zod29.z.boolean(),
2902
+ recommendable: import_zod29.z.boolean(),
2903
+ previewEnabled: import_zod29.z.boolean(),
2904
+ imageUrl: import_zod29.z.string().min(1).nullable().optional(),
2905
+ image: FoodCodeManifestImageSchema.nullable().optional(),
2906
+ popularity: import_zod29.z.number().nonnegative().optional(),
2907
+ source: import_zod29.z.enum([
2908
+ "foodname",
2909
+ "manual",
2910
+ "foodai",
2911
+ "legacy"
2912
+ ]).optional()
2913
+ });
2914
+ var FoodCodeManifestSchema = import_zod29.z.object({
2915
+ version: import_zod29.z.string().min(1),
2916
+ updatedAt: ISODateTimeStringSchema,
2917
+ taxonomyVersion: import_zod29.z.string().min(1),
2918
+ etag: import_zod29.z.string().min(1).optional(),
2919
+ items: import_zod29.z.array(FoodCodeManifestItemSchema),
2920
+ categoryIndex: import_zod29.z.record(import_zod29.z.string(), import_zod29.z.array(FoodCodeSchema)),
2921
+ aliasIndex: import_zod29.z.record(import_zod29.z.string(), import_zod29.z.array(FoodCodeSchema)).optional()
2922
+ });
2923
+ var FoodImageIndexItemSchema = import_zod29.z.object({
2924
+ code: FoodCodeSchema,
2925
+ label: FoodLabelSchema,
2926
+ imageUrl: import_zod29.z.string().min(1).nullable(),
2927
+ image: FoodCodeManifestImageSchema.nullable(),
2928
+ source: import_zod29.z.enum([
2929
+ "foodname",
2930
+ "manual",
2931
+ "foodai",
2932
+ "legacy"
2933
+ ]).optional()
2934
+ });
2935
+ var FoodImageIndexManifestSchema = import_zod29.z.object({
2936
+ version: import_zod29.z.string().min(1),
2937
+ updatedAt: ISODateTimeStringSchema,
2938
+ taxonomyVersion: import_zod29.z.string().min(1),
2939
+ items: import_zod29.z.array(FoodImageIndexItemSchema)
2940
+ });
2941
+ var ResolvedFoodCodeSchema = import_zod29.z.object({
2942
+ code: FoodCodeSchema,
2943
+ label: FoodLabelSchema,
2944
+ matchedBy: FoodResolvedMatchSourceSchema,
2945
+ score: import_zod29.z.number(),
2946
+ granularity: FoodGranularitySchema,
2947
+ imageUrl: import_zod29.z.string().min(1).nullable().optional()
2948
+ });
2949
+ var BooleanQuerySchema = import_zod29.z.preprocess((value) => {
2950
+ if (value === "true") return true;
2951
+ if (value === "false") return false;
2952
+ return value;
2953
+ }, import_zod29.z.boolean());
2954
+ var FoodResolveQuerySchema = import_zod29.z.object({
2955
+ q: import_zod29.z.string().default(""),
2956
+ limit: import_zod29.z.coerce.number().int().min(1).max(100).optional().default(30),
2957
+ recommendableOnly: BooleanQuerySchema.optional().default(true)
2958
+ });
2959
+ var FoodSearchQuerySchema = import_zod29.z.object({
2960
+ q: import_zod29.z.string().default(""),
2961
+ limit: import_zod29.z.coerce.number().int().min(1).max(100).optional().default(20)
2962
+ });
2963
+ var FoodResolveResponseSchema = import_zod29.z.object({
2964
+ query: import_zod29.z.string(),
2965
+ items: import_zod29.z.array(ResolvedFoodCodeSchema)
2966
+ });
2967
+ var FoodSearchResponseSchema = FoodResolveResponseSchema;
2968
+ var FoodAiClassMappingStatusSchema = import_zod29.z.enum([
2969
+ "exact",
2970
+ "broad",
2971
+ "narrow",
2972
+ "merged",
2973
+ "ignored",
2974
+ "review_required"
2975
+ ]);
2976
+ var AiClassFoodCodeMappingSchema = import_zod29.z.object({
2977
+ classId: import_zod29.z.number().int().nonnegative(),
2978
+ aiLabel: import_zod29.z.string().min(1),
2979
+ aiAliases: import_zod29.z.array(import_zod29.z.string().min(1)).default([]),
2980
+ representativeCode: FoodCodeSchema.nullable(),
2981
+ candidateCodes: import_zod29.z.array(FoodCodeSchema).default([]),
2982
+ mappingStatus: FoodAiClassMappingStatusSchema,
2983
+ granularity: FoodGranularitySchema,
2984
+ searchable: import_zod29.z.boolean(),
2985
+ recommendable: import_zod29.z.boolean(),
2986
+ reason: import_zod29.z.string().min(1).optional()
2987
+ });
2988
+ var AiClassToFoodCodeMapManifestSchema = import_zod29.z.object({
2989
+ version: import_zod29.z.string().min(1),
2990
+ updatedAt: ISODateTimeStringSchema,
2991
+ modelTaxonomyVersion: import_zod29.z.string().min(1),
2992
+ serviceTaxonomyVersion: import_zod29.z.string().min(1),
2993
+ classes: import_zod29.z.array(AiClassFoodCodeMappingSchema)
2994
+ });
924
2995
  // Annotate the CommonJS export names for ESM import in node:
925
2996
  0 && (module.exports = {
926
- AcceptInvitationResponseSchema,
927
- AddLocationCandidateRequestSchema,
2997
+ AI_CLASS_TO_FOOD_CODE_MAP_PATH,
2998
+ AddMealGroupMemberRequestSchema,
2999
+ AiClassFoodCodeMappingSchema,
3000
+ AiClassToFoodCodeMapManifestSchema,
928
3001
  ApiFailureSchema,
929
3002
  ApiResponseSchema,
930
3003
  ApiSuccessSchema,
@@ -936,33 +3009,61 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
936
3009
  ArticleListQuerySchema,
937
3010
  ArticleSortBySchema,
938
3011
  ArticleSummaryResponseSchema,
3012
+ CACHE_INVALIDATION_SSE_EVENT,
3013
+ CacheInvalidationActionSchema,
3014
+ CacheInvalidationEntitySchema,
3015
+ CacheInvalidationEventSchema,
3016
+ CacheInvalidationKeySchema,
939
3017
  ChallengeStatusResponseSchema,
940
- ChatMessageRequestSchema,
941
- ChatMessageResponseSchema,
942
3018
  ClaimChallengeRewardRequestSchema,
943
3019
  ClaimChallengeRewardResponseSchema,
944
3020
  CommentIdSchema,
3021
+ CompleteMealPlanDecisionStageRequestSchema,
3022
+ CompleteOnboardingRequestSchema,
3023
+ ConfirmMealPlanDecisionSnapshotRequestSchema,
945
3024
  CouponIdSchema,
946
3025
  CouponResponseSchema,
947
3026
  CouponStatusSchema,
948
3027
  CouponTypeSchema,
949
3028
  CreateArticleRequestSchema,
950
3029
  CreateCommentRequestSchema,
951
- CreateInvitationRequestSchema,
3030
+ CreateMealGroupRequestSchema,
3031
+ CreateMealPlanChangeRequestSchema,
3032
+ CreateMealPlanInviteRequestSchema,
3033
+ CreateMealPlanJoinRequestSchema,
3034
+ CreateMealPlanParticipantRequestSchema,
3035
+ CreateMealPlanRequestSchema,
3036
+ CreateMealPlanResponseSchema,
3037
+ CreateMealPlanShareLinkRequestSchema,
3038
+ CreateMealPlanVoteRequestSchema,
952
3039
  CreateProfileRequestSchema,
953
- CreateRecruitRequestSchema,
954
- CreateRecruitResponseSchema,
955
3040
  CreatedEntityIdResponseSchema,
956
- DatePicksUpdateResponseSchema,
957
- ExcludeMenuRequestSchema,
958
- ExcludeMenuUpdateResponseSchema,
959
- FinalStateSchema,
3041
+ CuisineTagSchema,
3042
+ DevicePermissionSnapshotSchema,
3043
+ EndMealPlanLiveActivitySessionRequestSchema,
3044
+ ExposeMealPlanToNearbyFriendsRequestSchema,
3045
+ ExposeMealPlanToNearbyFriendsResponseSchema,
3046
+ FOOD_CODE_MANIFEST_PATH,
3047
+ FOOD_IMAGE_INDEX_PATH,
3048
+ FoodAiClassMappingStatusSchema,
960
3049
  FoodAnalysisResultSchema,
3050
+ FoodCodeManifestImageSchema,
3051
+ FoodCodeManifestItemSchema,
3052
+ FoodCodeManifestSchema,
961
3053
  FoodCodeSchema,
3054
+ FoodGranularitySchema,
3055
+ FoodImageIndexItemSchema,
3056
+ FoodImageIndexManifestSchema,
962
3057
  FoodLabelSchema,
3058
+ FoodResolveQuerySchema,
3059
+ FoodResolveResponseSchema,
3060
+ FoodResolvedMatchSourceSchema,
963
3061
  FoodSchema,
3062
+ FoodSearchQuerySchema,
3063
+ FoodSearchResponseSchema,
964
3064
  FriendBlockItemResponseSchema,
965
3065
  FriendListItemResponseSchema,
3066
+ FriendMealAvailabilitySchema,
966
3067
  FriendMealItemResponseSchema,
967
3068
  FriendMealQuerySchema,
968
3069
  FriendRequestIdSchema,
@@ -971,19 +3072,121 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
971
3072
  FriendRequestStatusSchema,
972
3073
  FriendSearchQuerySchema,
973
3074
  FriendSearchResponseSchema,
3075
+ HomeMealPlanActionCardSchema,
3076
+ HomeMealPlanActionKindSchema,
3077
+ HomeMealPlanDashboardResponseSchema,
974
3078
  ISODateStringSchema,
975
3079
  ISODateTimeStringSchema,
976
- InvitationIdSchema,
977
- InvitationListItemResponseSchema,
978
- InvitationRoomStageSchema,
3080
+ JoinMealPlanGuestRequestSchema,
3081
+ JoinMealPlanGuestResponseSchema,
979
3082
  KakaoPlaceRawSchema,
980
- LocationCandidateAddUpdateResponseSchema,
981
- LocationCandidateSchema,
982
- LocationCandidateVoteUpdateResponseSchema,
983
- LocationIdSchema,
3083
+ LocationConsentStatusSchema,
984
3084
  LoginRequestSchema,
985
- MatchingNotificationKindSchema,
986
- MatchingNotificationSchema,
3085
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
3086
+ MealGroupHistoryItemSchema,
3087
+ MealGroupHistoryResponseSchema,
3088
+ MealGroupIdSchema,
3089
+ MealGroupMemberRoleSchema,
3090
+ MealGroupMemberSchema,
3091
+ MealGroupPreferenceSummarySchema,
3092
+ MealGroupResponseSchema,
3093
+ MealMapFriendRecordLocationMetadataSchema,
3094
+ MealMapLayerSchema,
3095
+ MealMapMarkerSchema,
3096
+ MealMapMyMealPlanPlaceMetadataSchema,
3097
+ MealMapNearbyFriendMealPlanMetadataSchema,
3098
+ MealMapQuerySchema,
3099
+ MealMapResponseSchema,
3100
+ MealMapRestaurantCandidateCompletionBlockedReasonSchema,
3101
+ MealMapRestaurantCandidateMetadataSchema,
3102
+ MealPlanChangeRequestIdSchema,
3103
+ MealPlanChangeRequestStatusSchema,
3104
+ MealPlanChangeRequestSummarySchema,
3105
+ MealPlanChannelSchema,
3106
+ MealPlanChatMessageIdSchema,
3107
+ MealPlanChatMessageKindSchema,
3108
+ MealPlanChatMessageListResponseSchema,
3109
+ MealPlanChatMessageResponseSchema,
3110
+ MealPlanChatRoomIdSchema,
3111
+ MealPlanChatRoomSummarySchema,
3112
+ MealPlanChatSystemPayloadSchema,
3113
+ MealPlanDecisionActorTypeSchema,
3114
+ MealPlanDecisionCandidateSchema,
3115
+ MealPlanDecisionFinalFieldSchema,
3116
+ MealPlanDecisionProgressSchema,
3117
+ MealPlanDecisionReasonSchema,
3118
+ MealPlanDecisionSnapshotSchema,
3119
+ MealPlanDecisionSnapshotStatusSchema,
3120
+ MealPlanDecisionStageIdSchema,
3121
+ MealPlanDecisionStageMetadataSchema,
3122
+ MealPlanDecisionStageResponseSchema,
3123
+ MealPlanDecisionStageStatusSchema,
3124
+ MealPlanDecisionStageTypeSchema,
3125
+ MealPlanDecisionTaskKeySchema,
3126
+ MealPlanDecisionTaskProgressSchema,
3127
+ MealPlanDecisionTaskReadyRequestSchema,
3128
+ MealPlanDecisionTaskStatusSchema,
3129
+ MealPlanGuestParticipantSchema,
3130
+ MealPlanGuestSessionQuerySchema,
3131
+ MealPlanGuestSessionResponseSchema,
3132
+ MealPlanIdSchema,
3133
+ MealPlanInviteIdSchema,
3134
+ MealPlanInviteListResponseSchema,
3135
+ MealPlanInviteStatusSchema,
3136
+ MealPlanInviteSummarySchema,
3137
+ MealPlanJoinRequestIdSchema,
3138
+ MealPlanJoinRequestStatusSchema,
3139
+ MealPlanJoinRequestSummarySchema,
3140
+ MealPlanJoinSourceSchema,
3141
+ MealPlanLatitudeSchema,
3142
+ MealPlanLiveActivityBehaviorSchema,
3143
+ MealPlanLiveActivityPlatformSchema,
3144
+ MealPlanLiveActivitySessionListResponseSchema,
3145
+ MealPlanLiveActivitySessionResponseSchema,
3146
+ MealPlanLiveActivitySessionStatusSchema,
3147
+ MealPlanLiveActivityStateSchema,
3148
+ MealPlanLiveActivityUpdateStatusSchema,
3149
+ MealPlanLocationCandidateIdSchema,
3150
+ MealPlanLocationCandidateSchema,
3151
+ MealPlanLocationCandidateSourceSchema,
3152
+ MealPlanLongitudeSchema,
3153
+ MealPlanMenuCandidateIdSchema,
3154
+ MealPlanMenuCandidateSchema,
3155
+ MealPlanMenuCandidateSourceSchema,
3156
+ MealPlanNearbyFriendExposureBatchIdSchema,
3157
+ MealPlanNearbyFriendExposureBatchSummarySchema,
3158
+ MealPlanNearbyFriendExposureIdSchema,
3159
+ MealPlanNearbyFriendExposureNotificationStatusSchema,
3160
+ MealPlanNearbyFriendExposureStatusSchema,
3161
+ MealPlanNearbyFriendExposureSummarySchema,
3162
+ MealPlanNearbyFriendRejectionReasonSchema,
3163
+ MealPlanNearbyFriendRejectionSummarySchema,
3164
+ MealPlanNotificationKindSchema,
3165
+ MealPlanNotificationPriorityChannelSchema,
3166
+ MealPlanNotificationPriorityPolicyItemSchema,
3167
+ MealPlanNotificationSchema,
3168
+ MealPlanParticipantIdSchema,
3169
+ MealPlanParticipantResponseSchema,
3170
+ MealPlanParticipantRoleSchema,
3171
+ MealPlanParticipantStatusSchema,
3172
+ MealPlanPushPayloadDataSchema,
3173
+ MealPlanRecommendationContextSchema,
3174
+ MealPlanResponseSchema,
3175
+ MealPlanRestaurantCandidateSchema,
3176
+ MealPlanRestaurantSearchStateSchema,
3177
+ MealPlanRestaurantSearchStatusSchema,
3178
+ MealPlanShareLinkIdSchema,
3179
+ MealPlanShareLinkSummarySchema,
3180
+ MealPlanShareLinkTokenSchema,
3181
+ MealPlanSharePreviewResponseSchema,
3182
+ MealPlanStatusSchema,
3183
+ MealPlanSystemMessageKindSchema,
3184
+ MealPlanSystemMessageSchema,
3185
+ MealPlanViewerPermissionsSchema,
3186
+ MealPlanViewerRoleSchema,
3187
+ MealPlanVoteIdSchema,
3188
+ MealPlanVoteSchema,
3189
+ MealPlanVoteTypeSchema,
987
3190
  MealStatusActionSchema,
988
3191
  MealStatusResponseSchema,
989
3192
  MealStatusSchema,
@@ -991,67 +3194,68 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
991
3194
  MemberDetailSchema,
992
3195
  MemberFoodPreferenceSchema,
993
3196
  MemberIdSchema,
3197
+ MemberLocationSchema,
3198
+ MemberLocationSettingsResponseSchema,
994
3199
  MemberResponseSchema,
995
3200
  MemberRoleSchema,
996
3201
  MemberSearchQuerySchema,
997
3202
  MemberSerachResponseSchema,
998
- MenuCodeSchema,
999
- MenuPickUpdateResponseSchema,
1000
- MenuSchema,
3203
+ MyMealPlanGroupSchema,
3204
+ MyMealPlanListItemSchema,
3205
+ MyMealPlanListResponseSchema,
3206
+ NearbyFriendExposureEligibilitySchema,
3207
+ NearbyFriendMealPlanSummarySchema,
1001
3208
  NoBodySchema,
1002
3209
  NoContentSchema,
1003
3210
  NoParamsSchema,
1004
3211
  NoQuerySchema,
1005
3212
  NonEmptyStringIdSchema,
3213
+ OnboardingDraftSchema,
3214
+ OnboardingStatusSchema,
1006
3215
  PageArticleSummaryResponseSchema,
1007
3216
  PageMetaSchema,
1008
3217
  PageQuerySchema,
1009
3218
  PageResponseSchema,
1010
- ParticipantSchema,
1011
- PhaseDataBroadcastSchema,
1012
- PickDateRequestSchema,
1013
- PickMenuRequestSchema,
1014
- PickRestaurantRequestSchema,
1015
- PickTimesRequestSchema,
1016
- PlanIdSchema,
1017
- PlanListQuerySchema,
1018
- PlanResponseSchema,
1019
- PlanStatusSchema,
1020
- PlanTypeSchema,
3219
+ PermissionKindSchema,
3220
+ PermissionPlatformSchema,
3221
+ PermissionStatusSchema,
1021
3222
  PositiveIntIdSchema,
1022
3223
  ProfileDetailResponseSchema,
1023
- ReadyStateChangedSchema,
1024
- ReadyStateRequestSchema,
1025
- RecruitIdSchema,
1026
- RecruitListQuerySchema,
1027
- RecruitListResponseSchema,
1028
- RecruitRoomStageSchema,
1029
- RecruitSortBySchema,
1030
- RecruitStatusSchema,
3224
+ PushDeliveryAttemptResultSchema,
3225
+ PushDeliveryAttemptSummarySchema,
3226
+ PushDeliveryOutboxSummarySchema,
3227
+ PushDeliveryStatusSchema,
3228
+ PushPayloadSchemaVersionSchema,
3229
+ PushPermissionStatusSchema,
3230
+ PushPlatformSchema,
3231
+ PushProviderSchema,
3232
+ PushTokenResponseSchema,
3233
+ PushTokenStatusSchema,
1031
3234
  RedeemReferralRequestSchema,
1032
3235
  ReferralCodeSchema,
1033
3236
  ReferralCreateResponseSchema,
1034
3237
  ReferralItemResponseSchema,
3238
+ RegisterMealPlanLiveActivitySessionRequestSchema,
3239
+ RegisterPushTokenRequestSchema,
3240
+ ReopenMealPlanDecisionTaskRequestSchema,
3241
+ ResolvedFoodCodeSchema,
1035
3242
  RestaurantIdSchema,
1036
- RestaurantPickUpdateResponseSchema,
1037
3243
  RestaurantSchema,
1038
- RoomAccessResponseSchema,
1039
- RoomAssignedResponseSchema,
1040
- RoomIdSchema,
1041
- RoomInitialStateSchema,
1042
- RoomSocketClientEventSchemas,
1043
- RoomSocketErrorSchema,
1044
- RoomSocketServerEventSchemas,
1045
- RoomTypeSchema,
1046
- SendInvitationResponseSchema,
3244
+ RevokePushTokenRequestSchema,
3245
+ SendMealPlanChatMessageRequestSchema,
3246
+ SendMealPlanInviteResponseSchema,
1047
3247
  SignupRequestSchema,
1048
3248
  SignupResponseSchema,
1049
3249
  SortDirectionSchema,
3250
+ StartMealPlanFromGroupRequestSchema,
1050
3251
  SubscriptionIdSchema,
1051
3252
  TimeHHmmStringSchema,
1052
- TimePicksUpdateResponseSchema,
1053
3253
  TokenResponseSchema,
3254
+ UpdateMealGroupMemberRoleRequestSchema,
3255
+ UpdateMealPlanContextRequestSchema,
1054
3256
  UpdateMealStatusRequestSchema,
3257
+ UpdateMemberLocationConsentRequestSchema,
3258
+ UpdateMemberLocationRequestSchema,
1055
3259
  UpdatePreferenceRequestSchema,
1056
3260
  UpdateProfileRequestSchema,
1057
3261
  UploadArticleImageRequestSchema,
@@ -1059,21 +3263,31 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
1059
3263
  UploadProfileImageRequestSchema,
1060
3264
  UploadProfileImageResponseSchema,
1061
3265
  UserIdSchema,
1062
- VoteLocationRequestSchema,
1063
3266
  apiContract,
3267
+ compareMealPlanNotificationsByPriority,
1064
3268
  endpoint,
3269
+ getMealPlanLiveActivityBehavior,
3270
+ getMealPlanNotificationPriority,
3271
+ getMealPlanNotificationPriorityPolicy,
1065
3272
  makeApiResponseSchema,
1066
3273
  makeApiSuccessSchema,
3274
+ shouldShowForegroundToast,
1067
3275
  toArticleId,
1068
3276
  toCommentId,
1069
3277
  toCouponId,
1070
3278
  toFriendRequestId,
1071
- toInvitationId,
3279
+ toMealGroupId,
3280
+ toMealPlanChangeRequestId,
3281
+ toMealPlanChatMessageId,
3282
+ toMealPlanChatRoomId,
3283
+ toMealPlanId,
3284
+ toMealPlanInviteId,
3285
+ toMealPlanJoinRequestId,
3286
+ toMealPlanNearbyFriendExposureBatchId,
3287
+ toMealPlanShareLinkId,
3288
+ toMealPlanShareLinkToken,
1072
3289
  toMemberId,
1073
- toPlanId,
1074
- toRecruitId,
1075
3290
  toReferralCode,
1076
3291
  toRestaurantId,
1077
- toRoomId,
1078
3292
  toSubscriptionId
1079
3293
  });