@kimdaegyu/babmukdang-shared 1.1.11 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/chunk-3TY6OPD3.js +91 -0
  2. package/dist/{chunk-W4C7XHTX.js → chunk-6O2YTBVC.js} +3 -3
  3. package/dist/{chunk-GTVEQYJW.js → chunk-7JYVBXKQ.js} +1 -1
  4. package/dist/chunk-7UZD4LBQ.js +459 -0
  5. package/dist/chunk-BSJC7OVV.js +10 -0
  6. package/dist/chunk-C63TN7L3.js +148 -0
  7. package/dist/chunk-CGFW5LYV.js +143 -0
  8. package/dist/chunk-GOOH2LGN.js +829 -0
  9. package/dist/chunk-LEH6UFL7.js +314 -0
  10. package/dist/{chunk-K3CZKI2F.js → chunk-NENVUHL5.js} +11 -8
  11. package/dist/chunk-OPMBGBYS.js +632 -0
  12. package/dist/{chunk-OJVXYCSH.js → chunk-QFPVAJ2U.js} +1 -1
  13. package/dist/{chunk-AI2YMBJX.js → chunk-RZPNVRRS.js} +5 -5
  14. package/dist/{chunk-4E5E3PFW.js → chunk-VD3VGLBQ.js} +13 -5
  15. package/dist/chunk-WYBFBLQC.js +111 -0
  16. package/dist/{chunk-H77ISYYC.js → chunk-XMRYAG3V.js} +20 -8
  17. package/dist/domain/article/index.cjs +71 -7
  18. package/dist/domain/article/index.d.cts +79 -796
  19. package/dist/domain/article/index.d.ts +79 -796
  20. package/dist/domain/article/index.js +4 -4
  21. package/dist/domain/auth/index.cjs +68 -6
  22. package/dist/domain/auth/index.d.cts +6 -46
  23. package/dist/domain/auth/index.d.ts +6 -46
  24. package/dist/domain/auth/index.js +3 -3
  25. package/dist/domain/common/index.cjs +1438 -330
  26. package/dist/domain/common/index.d.cts +212 -3037
  27. package/dist/domain/common/index.d.ts +212 -3037
  28. package/dist/domain/common/index.js +65 -30
  29. package/dist/domain/food/index.cjs +225 -0
  30. package/dist/domain/food/index.d.cts +321 -0
  31. package/dist/domain/food/index.d.ts +321 -0
  32. package/dist/domain/food/index.js +46 -0
  33. package/dist/domain/friend/index.cjs +78 -7
  34. package/dist/domain/friend/index.d.cts +39 -98
  35. package/dist/domain/friend/index.d.ts +39 -98
  36. package/dist/domain/friend/index.js +5 -3
  37. package/dist/domain/index.cjs +1930 -456
  38. package/dist/domain/index.d.cts +382 -123
  39. package/dist/domain/index.d.ts +382 -123
  40. package/dist/domain/index.js +429 -140
  41. package/dist/domain/live-activity/index.cjs +1112 -0
  42. package/dist/domain/live-activity/index.d.cts +177 -0
  43. package/dist/domain/live-activity/index.d.ts +177 -0
  44. package/dist/domain/live-activity/index.js +28 -0
  45. package/dist/domain/meal/index.cjs +68 -6
  46. package/dist/domain/meal/index.d.cts +21 -40
  47. package/dist/domain/meal/index.d.ts +21 -40
  48. package/dist/domain/meal/index.js +4 -4
  49. package/dist/domain/meal-plan/index.cjs +1540 -0
  50. package/dist/domain/meal-plan/index.d.cts +4523 -0
  51. package/dist/domain/meal-plan/index.d.ts +4523 -0
  52. package/dist/domain/meal-plan/index.js +255 -0
  53. package/dist/domain/member/index.cjs +94 -6
  54. package/dist/domain/member/index.d.cts +263 -273
  55. package/dist/domain/member/index.d.ts +263 -273
  56. package/dist/domain/member/index.js +26 -2
  57. package/dist/domain/promotion/index.cjs +10 -4
  58. package/dist/domain/promotion/index.d.cts +35 -112
  59. package/dist/domain/promotion/index.d.ts +35 -112
  60. package/dist/domain/promotion/index.js +2 -2
  61. package/dist/domain/push/index.cjs +1055 -0
  62. package/dist/domain/push/index.d.cts +169 -0
  63. package/dist/domain/push/index.d.ts +169 -0
  64. package/dist/domain/push/index.js +36 -0
  65. package/dist/domain/restaurant/index.cjs +10 -4
  66. package/dist/domain/restaurant/index.d.cts +27 -1
  67. package/dist/domain/restaurant/index.d.ts +27 -1
  68. package/dist/domain/restaurant/index.js +2 -2
  69. package/dist/index.cjs +1731 -399
  70. package/dist/index.d.cts +5 -7
  71. package/dist/index.d.ts +5 -7
  72. package/dist/index.js +17 -15
  73. package/package.json +52 -55
  74. package/dist/chunk-PFSZSKD5.js +0 -0
  75. package/dist/chunk-PQMEXOPZ.js +0 -232
  76. package/dist/chunk-W4TUW2GY.js +0 -40
  77. package/dist/chunk-WNYCCQM4.js +0 -342
  78. package/dist/chunk-YGFAVC5N.js +0 -34
  79. package/dist/chunk-YM7YU7IR.js +0 -319
  80. package/dist/chunk-ZH7D7B2Y.js +0 -78
  81. package/dist/domain/invitation/index.cjs +0 -82
  82. package/dist/domain/invitation/index.d.cts +0 -64
  83. package/dist/domain/invitation/index.d.ts +0 -64
  84. package/dist/domain/invitation/index.js +0 -13
  85. package/dist/domain/plan/index.cjs +0 -327
  86. package/dist/domain/plan/index.d.cts +0 -178
  87. package/dist/domain/plan/index.d.ts +0 -178
  88. package/dist/domain/plan/index.js +0 -18
  89. package/dist/domain/recruit/index.cjs +0 -189
  90. package/dist/domain/recruit/index.d.cts +0 -214
  91. package/dist/domain/recruit/index.d.ts +0 -214
  92. package/dist/domain/recruit/index.js +0 -30
  93. package/dist/domain/room/index.cjs +0 -401
  94. package/dist/domain/room/index.d.cts +0 -2643
  95. package/dist/domain/room/index.d.ts +0 -2643
  96. package/dist/domain/room/index.js +0 -82
  97. package/dist/id-dAYxfjZn.d.cts +0 -64
  98. package/dist/id-dAYxfjZn.d.ts +0 -64
  99. package/dist/restaurant.schema-CuEcX3S3.d.cts +0 -78
  100. package/dist/restaurant.schema-CuEcX3S3.d.ts +0 -78
@@ -30,8 +30,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/domain/index.ts
31
31
  var domain_exports = {};
32
32
  __export(domain_exports, {
33
- AcceptInvitationResponseSchema: () => AcceptInvitationResponseSchema,
34
- AddLocationCandidateRequestSchema: () => AddLocationCandidateRequestSchema,
33
+ AI_CLASS_TO_FOOD_CODE_MAP_PATH: () => AI_CLASS_TO_FOOD_CODE_MAP_PATH,
34
+ AddMealGroupMemberRequestSchema: () => AddMealGroupMemberRequestSchema,
35
+ AiClassFoodCodeMappingSchema: () => AiClassFoodCodeMappingSchema,
36
+ AiClassToFoodCodeMapManifestSchema: () => AiClassToFoodCodeMapManifestSchema,
35
37
  ApiFailureSchema: () => ApiFailureSchema,
36
38
  ApiResponseSchema: () => ApiResponseSchema,
37
39
  ApiSuccessSchema: () => ApiSuccessSchema,
@@ -43,33 +45,61 @@ __export(domain_exports, {
43
45
  ArticleListQuerySchema: () => ArticleListQuerySchema,
44
46
  ArticleSortBySchema: () => ArticleSortBySchema,
45
47
  ArticleSummaryResponseSchema: () => ArticleSummaryResponseSchema,
48
+ CACHE_INVALIDATION_SSE_EVENT: () => CACHE_INVALIDATION_SSE_EVENT,
49
+ CacheInvalidationActionSchema: () => CacheInvalidationActionSchema,
50
+ CacheInvalidationEntitySchema: () => CacheInvalidationEntitySchema,
51
+ CacheInvalidationEventSchema: () => CacheInvalidationEventSchema,
52
+ CacheInvalidationKeySchema: () => CacheInvalidationKeySchema,
46
53
  ChallengeStatusResponseSchema: () => ChallengeStatusResponseSchema,
47
- ChatMessageRequestSchema: () => ChatMessageRequestSchema,
48
- ChatMessageResponseSchema: () => ChatMessageResponseSchema,
49
54
  ClaimChallengeRewardRequestSchema: () => ClaimChallengeRewardRequestSchema,
50
55
  ClaimChallengeRewardResponseSchema: () => ClaimChallengeRewardResponseSchema,
51
56
  CommentIdSchema: () => CommentIdSchema,
57
+ CompleteMealPlanDecisionStageRequestSchema: () => CompleteMealPlanDecisionStageRequestSchema,
58
+ CompleteOnboardingRequestSchema: () => CompleteOnboardingRequestSchema,
59
+ ConfirmMealPlanDecisionSnapshotRequestSchema: () => ConfirmMealPlanDecisionSnapshotRequestSchema,
52
60
  CouponIdSchema: () => CouponIdSchema,
53
61
  CouponResponseSchema: () => CouponResponseSchema,
54
62
  CouponStatusSchema: () => CouponStatusSchema,
55
63
  CouponTypeSchema: () => CouponTypeSchema,
56
64
  CreateArticleRequestSchema: () => CreateArticleRequestSchema,
57
65
  CreateCommentRequestSchema: () => CreateCommentRequestSchema,
58
- CreateInvitationRequestSchema: () => CreateInvitationRequestSchema,
66
+ CreateMealGroupRequestSchema: () => CreateMealGroupRequestSchema,
67
+ CreateMealPlanChangeRequestSchema: () => CreateMealPlanChangeRequestSchema,
68
+ CreateMealPlanInviteRequestSchema: () => CreateMealPlanInviteRequestSchema,
69
+ CreateMealPlanJoinRequestSchema: () => CreateMealPlanJoinRequestSchema,
70
+ CreateMealPlanParticipantRequestSchema: () => CreateMealPlanParticipantRequestSchema,
71
+ CreateMealPlanRequestSchema: () => CreateMealPlanRequestSchema,
72
+ CreateMealPlanResponseSchema: () => CreateMealPlanResponseSchema,
73
+ CreateMealPlanShareLinkRequestSchema: () => CreateMealPlanShareLinkRequestSchema,
74
+ CreateMealPlanVoteRequestSchema: () => CreateMealPlanVoteRequestSchema,
59
75
  CreateProfileRequestSchema: () => CreateProfileRequestSchema,
60
- CreateRecruitRequestSchema: () => CreateRecruitRequestSchema,
61
- CreateRecruitResponseSchema: () => CreateRecruitResponseSchema,
62
76
  CreatedEntityIdResponseSchema: () => CreatedEntityIdResponseSchema,
63
- DatePicksUpdateResponseSchema: () => DatePicksUpdateResponseSchema,
64
- ExcludeMenuRequestSchema: () => ExcludeMenuRequestSchema,
65
- ExcludeMenuUpdateResponseSchema: () => ExcludeMenuUpdateResponseSchema,
66
- FinalStateSchema: () => FinalStateSchema,
77
+ CuisineTagSchema: () => CuisineTagSchema,
78
+ DevicePermissionSnapshotSchema: () => DevicePermissionSnapshotSchema,
79
+ EndMealPlanLiveActivitySessionRequestSchema: () => EndMealPlanLiveActivitySessionRequestSchema,
80
+ ExposeMealPlanToNearbyFriendsRequestSchema: () => ExposeMealPlanToNearbyFriendsRequestSchema,
81
+ ExposeMealPlanToNearbyFriendsResponseSchema: () => ExposeMealPlanToNearbyFriendsResponseSchema,
82
+ FOOD_CODE_MANIFEST_PATH: () => FOOD_CODE_MANIFEST_PATH,
83
+ FOOD_IMAGE_INDEX_PATH: () => FOOD_IMAGE_INDEX_PATH,
84
+ FoodAiClassMappingStatusSchema: () => FoodAiClassMappingStatusSchema,
67
85
  FoodAnalysisResultSchema: () => FoodAnalysisResultSchema,
86
+ FoodCodeManifestImageSchema: () => FoodCodeManifestImageSchema,
87
+ FoodCodeManifestItemSchema: () => FoodCodeManifestItemSchema,
88
+ FoodCodeManifestSchema: () => FoodCodeManifestSchema,
68
89
  FoodCodeSchema: () => FoodCodeSchema,
90
+ FoodGranularitySchema: () => FoodGranularitySchema,
91
+ FoodImageIndexItemSchema: () => FoodImageIndexItemSchema,
92
+ FoodImageIndexManifestSchema: () => FoodImageIndexManifestSchema,
69
93
  FoodLabelSchema: () => FoodLabelSchema,
94
+ FoodResolveQuerySchema: () => FoodResolveQuerySchema,
95
+ FoodResolveResponseSchema: () => FoodResolveResponseSchema,
96
+ FoodResolvedMatchSourceSchema: () => FoodResolvedMatchSourceSchema,
70
97
  FoodSchema: () => FoodSchema,
98
+ FoodSearchQuerySchema: () => FoodSearchQuerySchema,
99
+ FoodSearchResponseSchema: () => FoodSearchResponseSchema,
71
100
  FriendBlockItemResponseSchema: () => FriendBlockItemResponseSchema,
72
101
  FriendListItemResponseSchema: () => FriendListItemResponseSchema,
102
+ FriendMealAvailabilitySchema: () => FriendMealAvailabilitySchema,
73
103
  FriendMealItemResponseSchema: () => FriendMealItemResponseSchema,
74
104
  FriendMealQuerySchema: () => FriendMealQuerySchema,
75
105
  FriendRequestIdSchema: () => FriendRequestIdSchema,
@@ -78,19 +108,120 @@ __export(domain_exports, {
78
108
  FriendRequestStatusSchema: () => FriendRequestStatusSchema,
79
109
  FriendSearchQuerySchema: () => FriendSearchQuerySchema,
80
110
  FriendSearchResponseSchema: () => FriendSearchResponseSchema,
111
+ HomeMealPlanActionCardSchema: () => HomeMealPlanActionCardSchema,
112
+ HomeMealPlanActionKindSchema: () => HomeMealPlanActionKindSchema,
113
+ HomeMealPlanDashboardResponseSchema: () => HomeMealPlanDashboardResponseSchema,
81
114
  ISODateStringSchema: () => ISODateStringSchema,
82
115
  ISODateTimeStringSchema: () => ISODateTimeStringSchema,
83
- InvitationIdSchema: () => InvitationIdSchema,
84
- InvitationListItemResponseSchema: () => InvitationListItemResponseSchema,
85
- InvitationRoomStageSchema: () => InvitationRoomStageSchema,
116
+ JoinMealPlanGuestRequestSchema: () => JoinMealPlanGuestRequestSchema,
117
+ JoinMealPlanGuestResponseSchema: () => JoinMealPlanGuestResponseSchema,
86
118
  KakaoPlaceRawSchema: () => KakaoPlaceRawSchema,
87
- LocationCandidateAddUpdateResponseSchema: () => LocationCandidateAddUpdateResponseSchema,
88
- LocationCandidateSchema: () => LocationCandidateSchema,
89
- LocationCandidateVoteUpdateResponseSchema: () => LocationCandidateVoteUpdateResponseSchema,
90
- LocationIdSchema: () => LocationIdSchema,
119
+ LocationConsentStatusSchema: () => LocationConsentStatusSchema,
91
120
  LoginRequestSchema: () => LoginRequestSchema,
92
- MatchingNotificationKindSchema: () => MatchingNotificationKindSchema,
93
- MatchingNotificationSchema: () => MatchingNotificationSchema,
121
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES: () => MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
122
+ MealGroupHistoryItemSchema: () => MealGroupHistoryItemSchema,
123
+ MealGroupHistoryResponseSchema: () => MealGroupHistoryResponseSchema,
124
+ MealGroupIdSchema: () => MealGroupIdSchema,
125
+ MealGroupMemberRoleSchema: () => MealGroupMemberRoleSchema,
126
+ MealGroupMemberSchema: () => MealGroupMemberSchema,
127
+ MealGroupPreferenceSummarySchema: () => MealGroupPreferenceSummarySchema,
128
+ MealGroupResponseSchema: () => MealGroupResponseSchema,
129
+ MealMapFriendRecordLocationMetadataSchema: () => MealMapFriendRecordLocationMetadataSchema,
130
+ MealMapLayerSchema: () => MealMapLayerSchema,
131
+ MealMapMarkerSchema: () => MealMapMarkerSchema,
132
+ MealMapMyMealPlanPlaceMetadataSchema: () => MealMapMyMealPlanPlaceMetadataSchema,
133
+ MealMapNearbyFriendMealPlanMetadataSchema: () => MealMapNearbyFriendMealPlanMetadataSchema,
134
+ MealMapQuerySchema: () => MealMapQuerySchema,
135
+ MealMapResponseSchema: () => MealMapResponseSchema,
136
+ MealMapRestaurantCandidateCompletionBlockedReasonSchema: () => MealMapRestaurantCandidateCompletionBlockedReasonSchema,
137
+ MealMapRestaurantCandidateMetadataSchema: () => MealMapRestaurantCandidateMetadataSchema,
138
+ MealPlanChangeRequestIdSchema: () => MealPlanChangeRequestIdSchema,
139
+ MealPlanChangeRequestStatusSchema: () => MealPlanChangeRequestStatusSchema,
140
+ MealPlanChangeRequestSummarySchema: () => MealPlanChangeRequestSummarySchema,
141
+ MealPlanChannelSchema: () => MealPlanChannelSchema,
142
+ MealPlanChatMessageIdSchema: () => MealPlanChatMessageIdSchema,
143
+ MealPlanChatMessageKindSchema: () => MealPlanChatMessageKindSchema,
144
+ MealPlanChatMessageListResponseSchema: () => MealPlanChatMessageListResponseSchema,
145
+ MealPlanChatMessageResponseSchema: () => MealPlanChatMessageResponseSchema,
146
+ MealPlanChatRoomIdSchema: () => MealPlanChatRoomIdSchema,
147
+ MealPlanChatRoomSummarySchema: () => MealPlanChatRoomSummarySchema,
148
+ MealPlanChatSystemPayloadSchema: () => MealPlanChatSystemPayloadSchema,
149
+ MealPlanDecisionActorTypeSchema: () => MealPlanDecisionActorTypeSchema,
150
+ MealPlanDecisionCandidateSchema: () => MealPlanDecisionCandidateSchema,
151
+ MealPlanDecisionFinalFieldSchema: () => MealPlanDecisionFinalFieldSchema,
152
+ MealPlanDecisionProgressSchema: () => MealPlanDecisionProgressSchema,
153
+ MealPlanDecisionReasonSchema: () => MealPlanDecisionReasonSchema,
154
+ MealPlanDecisionSnapshotSchema: () => MealPlanDecisionSnapshotSchema,
155
+ MealPlanDecisionSnapshotStatusSchema: () => MealPlanDecisionSnapshotStatusSchema,
156
+ MealPlanDecisionStageIdSchema: () => MealPlanDecisionStageIdSchema,
157
+ MealPlanDecisionStageMetadataSchema: () => MealPlanDecisionStageMetadataSchema,
158
+ MealPlanDecisionStageResponseSchema: () => MealPlanDecisionStageResponseSchema,
159
+ MealPlanDecisionStageStatusSchema: () => MealPlanDecisionStageStatusSchema,
160
+ MealPlanDecisionStageTypeSchema: () => MealPlanDecisionStageTypeSchema,
161
+ MealPlanDecisionTaskKeySchema: () => MealPlanDecisionTaskKeySchema,
162
+ MealPlanDecisionTaskProgressSchema: () => MealPlanDecisionTaskProgressSchema,
163
+ MealPlanDecisionTaskStatusSchema: () => MealPlanDecisionTaskStatusSchema,
164
+ MealPlanGuestParticipantSchema: () => MealPlanGuestParticipantSchema,
165
+ MealPlanGuestSessionQuerySchema: () => MealPlanGuestSessionQuerySchema,
166
+ MealPlanGuestSessionResponseSchema: () => MealPlanGuestSessionResponseSchema,
167
+ MealPlanIdSchema: () => MealPlanIdSchema,
168
+ MealPlanInviteIdSchema: () => MealPlanInviteIdSchema,
169
+ MealPlanInviteListResponseSchema: () => MealPlanInviteListResponseSchema,
170
+ MealPlanInviteStatusSchema: () => MealPlanInviteStatusSchema,
171
+ MealPlanInviteSummarySchema: () => MealPlanInviteSummarySchema,
172
+ MealPlanJoinRequestIdSchema: () => MealPlanJoinRequestIdSchema,
173
+ MealPlanJoinRequestStatusSchema: () => MealPlanJoinRequestStatusSchema,
174
+ MealPlanJoinRequestSummarySchema: () => MealPlanJoinRequestSummarySchema,
175
+ MealPlanJoinSourceSchema: () => MealPlanJoinSourceSchema,
176
+ MealPlanLatitudeSchema: () => MealPlanLatitudeSchema,
177
+ MealPlanLiveActivityBehaviorSchema: () => MealPlanLiveActivityBehaviorSchema,
178
+ MealPlanLiveActivityPlatformSchema: () => MealPlanLiveActivityPlatformSchema,
179
+ MealPlanLiveActivitySessionListResponseSchema: () => MealPlanLiveActivitySessionListResponseSchema,
180
+ MealPlanLiveActivitySessionResponseSchema: () => MealPlanLiveActivitySessionResponseSchema,
181
+ MealPlanLiveActivitySessionStatusSchema: () => MealPlanLiveActivitySessionStatusSchema,
182
+ MealPlanLiveActivityStateSchema: () => MealPlanLiveActivityStateSchema,
183
+ MealPlanLiveActivityUpdateStatusSchema: () => MealPlanLiveActivityUpdateStatusSchema,
184
+ MealPlanLocationCandidateIdSchema: () => MealPlanLocationCandidateIdSchema,
185
+ MealPlanLocationCandidateSchema: () => MealPlanLocationCandidateSchema,
186
+ MealPlanLocationCandidateSourceSchema: () => MealPlanLocationCandidateSourceSchema,
187
+ MealPlanLongitudeSchema: () => MealPlanLongitudeSchema,
188
+ MealPlanMenuCandidateIdSchema: () => MealPlanMenuCandidateIdSchema,
189
+ MealPlanMenuCandidateSchema: () => MealPlanMenuCandidateSchema,
190
+ MealPlanMenuCandidateSourceSchema: () => MealPlanMenuCandidateSourceSchema,
191
+ MealPlanNearbyFriendExposureBatchIdSchema: () => MealPlanNearbyFriendExposureBatchIdSchema,
192
+ MealPlanNearbyFriendExposureBatchSummarySchema: () => MealPlanNearbyFriendExposureBatchSummarySchema,
193
+ MealPlanNearbyFriendExposureIdSchema: () => MealPlanNearbyFriendExposureIdSchema,
194
+ MealPlanNearbyFriendExposureNotificationStatusSchema: () => MealPlanNearbyFriendExposureNotificationStatusSchema,
195
+ MealPlanNearbyFriendExposureStatusSchema: () => MealPlanNearbyFriendExposureStatusSchema,
196
+ MealPlanNearbyFriendExposureSummarySchema: () => MealPlanNearbyFriendExposureSummarySchema,
197
+ MealPlanNearbyFriendRejectionReasonSchema: () => MealPlanNearbyFriendRejectionReasonSchema,
198
+ MealPlanNearbyFriendRejectionSummarySchema: () => MealPlanNearbyFriendRejectionSummarySchema,
199
+ MealPlanNotificationKindSchema: () => MealPlanNotificationKindSchema,
200
+ MealPlanNotificationPriorityChannelSchema: () => MealPlanNotificationPriorityChannelSchema,
201
+ MealPlanNotificationPriorityPolicyItemSchema: () => MealPlanNotificationPriorityPolicyItemSchema,
202
+ MealPlanNotificationSchema: () => MealPlanNotificationSchema,
203
+ MealPlanParticipantIdSchema: () => MealPlanParticipantIdSchema,
204
+ MealPlanParticipantResponseSchema: () => MealPlanParticipantResponseSchema,
205
+ MealPlanParticipantRoleSchema: () => MealPlanParticipantRoleSchema,
206
+ MealPlanParticipantStatusSchema: () => MealPlanParticipantStatusSchema,
207
+ MealPlanPushPayloadDataSchema: () => MealPlanPushPayloadDataSchema,
208
+ MealPlanRecommendationContextSchema: () => MealPlanRecommendationContextSchema,
209
+ MealPlanResponseSchema: () => MealPlanResponseSchema,
210
+ MealPlanRestaurantCandidateSchema: () => MealPlanRestaurantCandidateSchema,
211
+ MealPlanRestaurantSearchStateSchema: () => MealPlanRestaurantSearchStateSchema,
212
+ MealPlanRestaurantSearchStatusSchema: () => MealPlanRestaurantSearchStatusSchema,
213
+ MealPlanShareLinkIdSchema: () => MealPlanShareLinkIdSchema,
214
+ MealPlanShareLinkSummarySchema: () => MealPlanShareLinkSummarySchema,
215
+ MealPlanShareLinkTokenSchema: () => MealPlanShareLinkTokenSchema,
216
+ MealPlanSharePreviewResponseSchema: () => MealPlanSharePreviewResponseSchema,
217
+ MealPlanStatusSchema: () => MealPlanStatusSchema,
218
+ MealPlanSystemMessageKindSchema: () => MealPlanSystemMessageKindSchema,
219
+ MealPlanSystemMessageSchema: () => MealPlanSystemMessageSchema,
220
+ MealPlanViewerPermissionsSchema: () => MealPlanViewerPermissionsSchema,
221
+ MealPlanViewerRoleSchema: () => MealPlanViewerRoleSchema,
222
+ MealPlanVoteIdSchema: () => MealPlanVoteIdSchema,
223
+ MealPlanVoteSchema: () => MealPlanVoteSchema,
224
+ MealPlanVoteTypeSchema: () => MealPlanVoteTypeSchema,
94
225
  MealStatusActionSchema: () => MealStatusActionSchema,
95
226
  MealStatusResponseSchema: () => MealStatusResponseSchema,
96
227
  MealStatusSchema: () => MealStatusSchema,
@@ -98,67 +229,68 @@ __export(domain_exports, {
98
229
  MemberDetailSchema: () => MemberDetailSchema,
99
230
  MemberFoodPreferenceSchema: () => MemberFoodPreferenceSchema,
100
231
  MemberIdSchema: () => MemberIdSchema,
232
+ MemberLocationSchema: () => MemberLocationSchema,
233
+ MemberLocationSettingsResponseSchema: () => MemberLocationSettingsResponseSchema,
101
234
  MemberResponseSchema: () => MemberResponseSchema,
102
235
  MemberRoleSchema: () => MemberRoleSchema,
103
236
  MemberSearchQuerySchema: () => MemberSearchQuerySchema,
104
237
  MemberSerachResponseSchema: () => MemberSerachResponseSchema,
105
- MenuCodeSchema: () => MenuCodeSchema,
106
- MenuPickUpdateResponseSchema: () => MenuPickUpdateResponseSchema,
107
- MenuSchema: () => MenuSchema,
238
+ MyMealPlanGroupSchema: () => MyMealPlanGroupSchema,
239
+ MyMealPlanListItemSchema: () => MyMealPlanListItemSchema,
240
+ MyMealPlanListResponseSchema: () => MyMealPlanListResponseSchema,
241
+ NearbyFriendExposureEligibilitySchema: () => NearbyFriendExposureEligibilitySchema,
242
+ NearbyFriendMealPlanSummarySchema: () => NearbyFriendMealPlanSummarySchema,
108
243
  NoBodySchema: () => NoBodySchema,
109
244
  NoContentSchema: () => NoContentSchema,
110
245
  NoParamsSchema: () => NoParamsSchema,
111
246
  NoQuerySchema: () => NoQuerySchema,
112
247
  NonEmptyStringIdSchema: () => NonEmptyStringIdSchema,
248
+ OnboardingDraftSchema: () => OnboardingDraftSchema,
249
+ OnboardingStatusSchema: () => OnboardingStatusSchema,
113
250
  PageArticleSummaryResponseSchema: () => PageArticleSummaryResponseSchema,
114
251
  PageMetaSchema: () => PageMetaSchema,
115
252
  PageQuerySchema: () => PageQuerySchema,
116
253
  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,
254
+ PermissionKindSchema: () => PermissionKindSchema,
255
+ PermissionPlatformSchema: () => PermissionPlatformSchema,
256
+ PermissionStatusSchema: () => PermissionStatusSchema,
128
257
  PositiveIntIdSchema: () => PositiveIntIdSchema,
129
258
  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,
259
+ PushDeliveryAttemptResultSchema: () => PushDeliveryAttemptResultSchema,
260
+ PushDeliveryAttemptSummarySchema: () => PushDeliveryAttemptSummarySchema,
261
+ PushDeliveryOutboxSummarySchema: () => PushDeliveryOutboxSummarySchema,
262
+ PushDeliveryStatusSchema: () => PushDeliveryStatusSchema,
263
+ PushPayloadSchemaVersionSchema: () => PushPayloadSchemaVersionSchema,
264
+ PushPermissionStatusSchema: () => PushPermissionStatusSchema,
265
+ PushPlatformSchema: () => PushPlatformSchema,
266
+ PushProviderSchema: () => PushProviderSchema,
267
+ PushTokenResponseSchema: () => PushTokenResponseSchema,
268
+ PushTokenStatusSchema: () => PushTokenStatusSchema,
138
269
  RedeemReferralRequestSchema: () => RedeemReferralRequestSchema,
139
270
  ReferralCodeSchema: () => ReferralCodeSchema,
140
271
  ReferralCreateResponseSchema: () => ReferralCreateResponseSchema,
141
272
  ReferralItemResponseSchema: () => ReferralItemResponseSchema,
273
+ RegisterMealPlanLiveActivitySessionRequestSchema: () => RegisterMealPlanLiveActivitySessionRequestSchema,
274
+ RegisterPushTokenRequestSchema: () => RegisterPushTokenRequestSchema,
275
+ ReopenMealPlanDecisionTaskRequestSchema: () => ReopenMealPlanDecisionTaskRequestSchema,
276
+ ResolvedFoodCodeSchema: () => ResolvedFoodCodeSchema,
142
277
  RestaurantIdSchema: () => RestaurantIdSchema,
143
- RestaurantPickUpdateResponseSchema: () => RestaurantPickUpdateResponseSchema,
144
278
  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,
279
+ RevokePushTokenRequestSchema: () => RevokePushTokenRequestSchema,
280
+ SendMealPlanChatMessageRequestSchema: () => SendMealPlanChatMessageRequestSchema,
281
+ SendMealPlanInviteResponseSchema: () => SendMealPlanInviteResponseSchema,
154
282
  SignupRequestSchema: () => SignupRequestSchema,
155
283
  SignupResponseSchema: () => SignupResponseSchema,
156
284
  SortDirectionSchema: () => SortDirectionSchema,
285
+ StartMealPlanFromGroupRequestSchema: () => StartMealPlanFromGroupRequestSchema,
157
286
  SubscriptionIdSchema: () => SubscriptionIdSchema,
158
287
  TimeHHmmStringSchema: () => TimeHHmmStringSchema,
159
- TimePicksUpdateResponseSchema: () => TimePicksUpdateResponseSchema,
160
288
  TokenResponseSchema: () => TokenResponseSchema,
289
+ UpdateMealGroupMemberRoleRequestSchema: () => UpdateMealGroupMemberRoleRequestSchema,
290
+ UpdateMealPlanContextRequestSchema: () => UpdateMealPlanContextRequestSchema,
161
291
  UpdateMealStatusRequestSchema: () => UpdateMealStatusRequestSchema,
292
+ UpdateMemberLocationConsentRequestSchema: () => UpdateMemberLocationConsentRequestSchema,
293
+ UpdateMemberLocationRequestSchema: () => UpdateMemberLocationRequestSchema,
162
294
  UpdatePreferenceRequestSchema: () => UpdatePreferenceRequestSchema,
163
295
  UpdateProfileRequestSchema: () => UpdateProfileRequestSchema,
164
296
  UploadArticleImageRequestSchema: () => UploadArticleImageRequestSchema,
@@ -166,22 +298,32 @@ __export(domain_exports, {
166
298
  UploadProfileImageRequestSchema: () => UploadProfileImageRequestSchema,
167
299
  UploadProfileImageResponseSchema: () => UploadProfileImageResponseSchema,
168
300
  UserIdSchema: () => UserIdSchema,
169
- VoteLocationRequestSchema: () => VoteLocationRequestSchema,
170
301
  apiContract: () => apiContract,
302
+ compareMealPlanNotificationsByPriority: () => compareMealPlanNotificationsByPriority,
171
303
  endpoint: () => endpoint,
304
+ getMealPlanLiveActivityBehavior: () => getMealPlanLiveActivityBehavior,
305
+ getMealPlanNotificationPriority: () => getMealPlanNotificationPriority,
306
+ getMealPlanNotificationPriorityPolicy: () => getMealPlanNotificationPriorityPolicy,
172
307
  makeApiResponseSchema: () => makeApiResponseSchema,
173
308
  makeApiSuccessSchema: () => makeApiSuccessSchema,
309
+ shouldShowForegroundToast: () => shouldShowForegroundToast,
174
310
  toArticleId: () => toArticleId,
175
311
  toCommentId: () => toCommentId,
176
312
  toCouponId: () => toCouponId,
177
313
  toFriendRequestId: () => toFriendRequestId,
178
- toInvitationId: () => toInvitationId,
314
+ toMealGroupId: () => toMealGroupId,
315
+ toMealPlanChangeRequestId: () => toMealPlanChangeRequestId,
316
+ toMealPlanChatMessageId: () => toMealPlanChatMessageId,
317
+ toMealPlanChatRoomId: () => toMealPlanChatRoomId,
318
+ toMealPlanId: () => toMealPlanId,
319
+ toMealPlanInviteId: () => toMealPlanInviteId,
320
+ toMealPlanJoinRequestId: () => toMealPlanJoinRequestId,
321
+ toMealPlanNearbyFriendExposureBatchId: () => toMealPlanNearbyFriendExposureBatchId,
322
+ toMealPlanShareLinkId: () => toMealPlanShareLinkId,
323
+ toMealPlanShareLinkToken: () => toMealPlanShareLinkToken,
179
324
  toMemberId: () => toMemberId,
180
- toPlanId: () => toPlanId,
181
- toRecruitId: () => toRecruitId,
182
325
  toReferralCode: () => toReferralCode,
183
326
  toRestaurantId: () => toRestaurantId,
184
- toRoomId: () => toRoomId,
185
327
  toSubscriptionId: () => toSubscriptionId
186
328
  });
187
329
  module.exports = __toCommonJS(domain_exports);
@@ -204,10 +346,16 @@ var MemberIdSchema = PositiveIntIdSchema.brand();
204
346
  var UserIdSchema = MemberIdSchema;
205
347
  var ArticleIdSchema = PositiveIntIdSchema.brand();
206
348
  var CommentIdSchema = PositiveIntIdSchema.brand();
207
- var RecruitIdSchema = PositiveIntIdSchema.brand();
208
- var PlanIdSchema = PositiveIntIdSchema.brand();
209
- var InvitationIdSchema = PositiveIntIdSchema.brand();
210
- var RoomIdSchema = NonEmptyStringIdSchema.brand();
349
+ var MealPlanIdSchema = import_zod2.z.string().uuid().brand();
350
+ var MealPlanInviteIdSchema = import_zod2.z.string().uuid().brand();
351
+ var MealPlanJoinRequestIdSchema = import_zod2.z.string().uuid().brand();
352
+ var MealPlanNearbyFriendExposureBatchIdSchema = import_zod2.z.string().uuid().brand();
353
+ var MealPlanChangeRequestIdSchema = import_zod2.z.string().uuid().brand();
354
+ var MealPlanShareLinkIdSchema = import_zod2.z.string().uuid().brand();
355
+ var MealPlanShareLinkTokenSchema = import_zod2.z.string().min(8).max(128).brand();
356
+ var MealPlanChatRoomIdSchema = import_zod2.z.string().uuid().brand();
357
+ var MealPlanChatMessageIdSchema = import_zod2.z.string().uuid().brand();
358
+ var MealGroupIdSchema = import_zod2.z.string().uuid().brand();
211
359
  var RestaurantIdSchema = NonEmptyStringIdSchema.brand();
212
360
  var CouponIdSchema = PositiveIntIdSchema.brand();
213
361
  var SubscriptionIdSchema = PositiveIntIdSchema.brand();
@@ -256,6 +404,46 @@ var UploadPresignImageRequestSchema = import_zod4.default.object({
256
404
 
257
405
  // src/domain/member/member.schema.ts
258
406
  var MemberRoleSchema = import_zod5.z.enum(["USER", "ADMIN"]);
407
+ var LocationConsentStatusSchema = import_zod5.z.enum(["UNKNOWN", "GRANTED", "DENIED"]);
408
+ var OnboardingStatusSchema = import_zod5.z.enum(["REQUIRED", "COMPLETED"]);
409
+ var PermissionKindSchema = import_zod5.z.enum(["LOCATION", "NOTIFICATION", "CAMERA"]);
410
+ var PermissionStatusSchema = import_zod5.z.enum([
411
+ "UNKNOWN",
412
+ "PROMPT",
413
+ "GRANTED",
414
+ "DENIED",
415
+ "LIMITED",
416
+ "UNSUPPORTED"
417
+ ]);
418
+ var PermissionPlatformSchema = import_zod5.z.enum(["WEB", "IOS", "ANDROID", "UNKNOWN"]);
419
+ var DevicePermissionSnapshotSchema = import_zod5.z.object({
420
+ kind: PermissionKindSchema,
421
+ status: PermissionStatusSchema,
422
+ platform: PermissionPlatformSchema.default("UNKNOWN"),
423
+ canAskAgain: import_zod5.z.boolean().optional(),
424
+ checkedAt: import_zod5.z.string().datetime()
425
+ });
426
+ var MemberLocationSchema = import_zod5.z.object({
427
+ latitude: import_zod5.z.number().min(-90).max(90),
428
+ longitude: import_zod5.z.number().min(-180).max(180),
429
+ accuracyMeters: import_zod5.z.number().min(0).nullable().optional(),
430
+ capturedAt: import_zod5.z.string().datetime()
431
+ });
432
+ var UpdateMemberLocationRequestSchema = MemberLocationSchema;
433
+ var UpdateMemberLocationConsentRequestSchema = import_zod5.z.object({
434
+ locationConsentStatus: LocationConsentStatusSchema,
435
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean().default(false),
436
+ mealSuggestionAllowed: import_zod5.z.boolean().optional(),
437
+ permissionSnapshot: DevicePermissionSnapshotSchema.optional()
438
+ });
439
+ var MemberLocationSettingsResponseSchema = import_zod5.z.object({
440
+ locationConsentStatus: LocationConsentStatusSchema,
441
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean(),
442
+ mealSuggestionAllowed: import_zod5.z.boolean(),
443
+ lastKnownLocation: MemberLocationSchema.nullable(),
444
+ permissionSnapshot: DevicePermissionSnapshotSchema.nullable().optional(),
445
+ updatedAt: import_zod5.z.string().datetime().nullable()
446
+ });
259
447
  var MemberCoreSchema = import_zod5.z.object({
260
448
  memberId: MemberIdSchema,
261
449
  username: import_zod5.z.string().min(1).max(50),
@@ -267,6 +455,11 @@ var MemberResponseSchema = MemberCoreSchema.pick({
267
455
  memberId: true,
268
456
  username: true,
269
457
  profileImageUrl: true
458
+ }).extend({
459
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
460
+ onboardingCompletedAt: import_zod5.z.string().datetime().nullable().default(null),
461
+ locationConsentStatus: LocationConsentStatusSchema.optional(),
462
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean().optional()
270
463
  });
271
464
  var MemberSearchQuerySchema = import_zod5.z.object({
272
465
  email: import_zod5.z.string().email().optional(),
@@ -277,7 +470,11 @@ var MemberDetailSchema = MemberCoreSchema.extend({
277
470
  bio: import_zod5.z.string().nullable(),
278
471
  friendConunt: import_zod5.z.number().int().min(0).default(0),
279
472
  completedPlans: import_zod5.z.number().int().min(0).default(0),
280
- uncompletedPlans: import_zod5.z.number().int().min(0).default(0)
473
+ uncompletedPlans: import_zod5.z.number().int().min(0).default(0),
474
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
475
+ onboardingCompletedAt: import_zod5.z.string().datetime().nullable().default(null),
476
+ locationConsentStatus: LocationConsentStatusSchema.default("UNKNOWN"),
477
+ nearbyMealPlanExposureAllowed: import_zod5.z.boolean().default(false)
281
478
  });
282
479
  var FoodPreferenceItemSchema = FoodSchema.extend({});
283
480
  var MemberFoodPreferenceSchema = import_zod5.z.object({
@@ -292,9 +489,18 @@ var UpdateProfileRequestSchema = import_zod5.z.object({
292
489
  bio: import_zod5.z.string().max(500).nullable()
293
490
  });
294
491
  var UpdatePreferenceRequestSchema = MemberFoodPreferenceSchema;
295
- var CreateProfileRequestSchema = UpdateProfileRequestSchema.merge(
492
+ var CompleteOnboardingRequestSchema = UpdateProfileRequestSchema.merge(
296
493
  UpdatePreferenceRequestSchema
297
494
  );
495
+ var OnboardingDraftSchema = import_zod5.z.object({
496
+ username: import_zod5.z.string().min(1).max(50).optional(),
497
+ profileImageUrl: import_zod5.z.string().url().nullable().optional(),
498
+ bio: import_zod5.z.string().max(500).nullable().optional(),
499
+ liked: import_zod5.z.array(FoodPreferenceItemSchema).optional(),
500
+ disliked: import_zod5.z.array(FoodPreferenceItemSchema).optional(),
501
+ allergy: import_zod5.z.array(FoodPreferenceItemSchema).optional()
502
+ });
503
+ var CreateProfileRequestSchema = CompleteOnboardingRequestSchema;
298
504
 
299
505
  // src/domain/restaurant/restaurant.schema.ts
300
506
  var import_zod6 = require("zod");
@@ -342,7 +548,8 @@ var CreateArticleRequestSchema = import_zod7.z.object({
342
548
  mealDate: ISODateStringSchema,
343
549
  restaurant: RestaurantSchema,
344
550
  taggedMemberIds: import_zod7.z.array(MemberIdSchema).default([]),
345
- foodAnalysis: FoodAnalysisResultSchema.optional()
551
+ foodAnalysis: FoodAnalysisResultSchema.optional(),
552
+ mealPlanId: MealPlanIdSchema.optional()
346
553
  });
347
554
  var CreateCommentRequestSchema = import_zod7.z.object({
348
555
  content: import_zod7.z.string().min(1).max(500),
@@ -362,6 +569,7 @@ var ArticleCoreSchema = import_zod7.z.object({
362
569
  imageUrl: import_zod7.z.string().url(),
363
570
  mealDate: ISODateStringSchema,
364
571
  restaurant: RestaurantSchema,
572
+ mealPlanId: MealPlanIdSchema.nullable(),
365
573
  createdAt: ISODateTimeStringSchema,
366
574
  updatedAt: ISODateTimeStringSchema,
367
575
  expiresAt: ISODateTimeStringSchema,
@@ -401,32 +609,57 @@ var SignupResponseSchema = import_zod8.z.object({
401
609
  });
402
610
 
403
611
  // src/domain/common/contracts/api.ts
404
- var import_zod20 = require("zod");
612
+ var import_zod29 = require("zod");
405
613
 
406
- // src/domain/promotion/challenge.schema.ts
614
+ // src/domain/common/schema/cache-invalidation.schema.ts
407
615
  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()
616
+ var CacheInvalidationEntitySchema = import_zod9.z.enum([
617
+ "article",
618
+ "mealPlan",
619
+ "mealPlanInvite",
620
+ "mealPlanParticipant",
621
+ "mealPlanDecision",
622
+ "mealPlanChat",
623
+ "mealGroup",
624
+ "notification",
625
+ "friend"
626
+ ]);
627
+ var CacheInvalidationActionSchema = import_zod9.z.enum([
628
+ "created",
629
+ "updated",
630
+ "deleted",
631
+ "accepted",
632
+ "rejected",
633
+ "cancelled",
634
+ "closed",
635
+ "joined",
636
+ "ready",
637
+ "confirmed",
638
+ "locked",
639
+ "completed",
640
+ "recorded",
641
+ "read"
642
+ ]);
643
+ var CacheInvalidationKeySchema = import_zod9.z.enum([
644
+ "articles",
645
+ "mealPlans",
646
+ "mealPlanDetail",
647
+ "mealPlanInvites",
648
+ "mealPlanJoinRequests",
649
+ "mealPlanNearbyFriends",
650
+ "mealPlanMessages",
651
+ "mealGroups",
652
+ "notifications",
653
+ "friends",
654
+ "friendMeals"
655
+ ]);
656
+ var CacheInvalidationEventSchema = import_zod9.z.object({
657
+ type: import_zod9.z.literal("cache.invalidate"),
658
+ entity: CacheInvalidationEntitySchema,
659
+ action: CacheInvalidationActionSchema,
660
+ id: import_zod9.z.union([import_zod9.z.string(), import_zod9.z.number()]).optional(),
661
+ keys: import_zod9.z.array(CacheInvalidationKeySchema).min(1),
662
+ occurredAt: import_zod9.z.string().datetime()
430
663
  });
431
664
 
432
665
  // src/domain/common/schema/envelope.schema.ts
@@ -448,18 +681,29 @@ var ApiResponseSchema = (data) => import_zod10.z.union([ApiSuccessSchema(data),
448
681
  var CreatedEntityIdResponseSchema = import_zod10.z.discriminatedUnion("entity", [
449
682
  import_zod10.z.object({ entity: import_zod10.z.literal("article"), id: ArticleIdSchema }),
450
683
  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
684
  import_zod10.z.object({ entity: import_zod10.z.literal("subscription"), id: SubscriptionIdSchema }),
454
685
  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 })
686
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealPlan"), id: MealPlanIdSchema }),
687
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealPlanInvite"), id: MealPlanInviteIdSchema }),
688
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealPlanJoinRequest"), id: MealPlanJoinRequestIdSchema }),
689
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealPlanChangeRequest"), id: MealPlanChangeRequestIdSchema }),
690
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealPlanShareLink"), id: MealPlanShareLinkIdSchema }),
691
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealPlanChatMessage"), id: MealPlanChatMessageIdSchema }),
692
+ import_zod10.z.object({ entity: import_zod10.z.literal("mealGroup"), id: MealGroupIdSchema })
456
693
  ]);
457
694
 
458
695
  // src/domain/friend/friend.schema.ts
459
696
  var import_zod11 = require("zod");
460
697
  var FriendRequestStatusSchema = import_zod11.z.enum(["PENDING", "ACCEPTED", "REJECTED", "CANCELED"]);
698
+ var FriendMealAvailabilitySchema = import_zod11.z.object({
699
+ isHungry: import_zod11.z.boolean(),
700
+ mealProposalAllowed: import_zod11.z.boolean(),
701
+ mealStatusExpiresAt: ISODateTimeStringSchema.nullable(),
702
+ nearbyMealPlanExposureAllowed: import_zod11.z.boolean()
703
+ });
461
704
  var FriendListItemResponseSchema = MemberCoreSchema.extend({
462
- friendSince: ISODateTimeStringSchema
705
+ friendSince: ISODateTimeStringSchema,
706
+ mealAvailability: FriendMealAvailabilitySchema.optional()
463
707
  });
464
708
  var FriendBlockItemResponseSchema = MemberCoreSchema.extend({
465
709
  blockedAt: ISODateTimeStringSchema
@@ -475,318 +719,1329 @@ var FriendRequestItemResponseSchema = import_zod11.z.object({
475
719
  var FriendSearchQuerySchema = import_zod11.z.string().min(1).max(50);
476
720
  var FriendSearchResponseSchema = import_zod11.z.array(MemberCoreSchema);
477
721
 
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
722
  // 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(),
723
+ var import_zod12 = require("zod");
724
+ var MealStatusResponseSchema = import_zod12.z.object({
725
+ hungry: import_zod12.z.boolean(),
726
+ label: import_zod12.z.string(),
505
727
  updatedAt: ISODateStringSchema,
506
- secondsToAutoOff: import_zod13.z.number().int().min(0)
728
+ secondsToAutoOff: import_zod12.z.number().int().min(0)
507
729
  });
508
- var MealStatusActionSchema = import_zod13.z.enum(["ARTICLE_UPLOAD", "SET_MANNUALY"]);
509
- var UpdateMealStatusRequestSchema = import_zod13.z.object({
730
+ var MealStatusActionSchema = import_zod12.z.enum(["ARTICLE_UPLOAD", "SET_MANNUALY"]);
731
+ var UpdateMealStatusRequestSchema = import_zod12.z.object({
510
732
  action: MealStatusActionSchema.optional().default("SET_MANNUALY")
511
733
  });
512
- var MealStatusSchema = import_zod13.z.enum(["ALL", "HUNGRY", "NOT_HUNGRY"]);
513
- var FriendMealQuerySchema = import_zod13.z.object({
734
+ var MealStatusSchema = import_zod12.z.enum(["ALL", "HUNGRY", "NOT_HUNGRY"]);
735
+ var FriendMealQuerySchema = import_zod12.z.object({
514
736
  status: MealStatusSchema.optional().default("ALL")
515
737
  });
516
738
  var FriendMealItemResponseSchema = MemberCoreSchema.extend({
517
- hungry: import_zod13.z.boolean(),
518
- label: import_zod13.z.string(),
739
+ hungry: import_zod12.z.boolean(),
740
+ label: import_zod12.z.string(),
519
741
  updatedAt: ISODateStringSchema
520
742
  });
521
743
 
522
- // src/domain/plan/plan.schema.ts
523
- var import_zod15 = require("zod");
744
+ // src/domain/meal-plan/meal-plan.schema.ts
745
+ var import_zod19 = require("zod");
524
746
 
525
- // src/domain/room/schema/room.schema.ts
747
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
526
748
  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"
749
+
750
+ // src/domain/food/food.schema.ts
751
+ var import_zod13 = require("zod");
752
+ var FoodGranularitySchema = import_zod13.z.enum(["main_dish", "side_dish", "beverage", "sauce"]);
753
+ var CuisineTagSchema = import_zod13.z.enum([
754
+ "korean",
755
+ "western",
756
+ "chinese",
757
+ "japanese",
758
+ "mexican",
759
+ "indian",
760
+ "asian",
761
+ "snack",
762
+ "dessert",
763
+ "beverage",
764
+ "unknown"
765
+ ]);
766
+ var FoodResolvedMatchSourceSchema = import_zod13.z.enum(["category", "alias", "lexical", "semantic"]);
767
+ var FoodCodeManifestImageSchema = import_zod13.z.object({
768
+ src: import_zod13.z.string().min(1),
769
+ avifSrcset: import_zod13.z.string().min(1).optional(),
770
+ thumbhashDataURL: import_zod13.z.string().min(1).optional(),
771
+ aspectRatio: import_zod13.z.number().positive().optional()
772
+ });
773
+ var FoodCodeManifestItemSchema = import_zod13.z.object({
774
+ code: FoodCodeSchema,
775
+ label: FoodLabelSchema,
776
+ aliases: import_zod13.z.array(import_zod13.z.string().min(1)).default([]),
777
+ parentCategory: import_zod13.z.string().min(1),
778
+ cuisineTags: import_zod13.z.array(CuisineTagSchema).default([]),
779
+ categoryTags: import_zod13.z.array(import_zod13.z.string().min(1)).default([]),
780
+ semanticTags: import_zod13.z.array(import_zod13.z.string().min(1)).default([]),
781
+ granularity: FoodGranularitySchema,
782
+ searchable: import_zod13.z.boolean(),
783
+ recommendable: import_zod13.z.boolean(),
784
+ previewEnabled: import_zod13.z.boolean(),
785
+ imageUrl: import_zod13.z.string().min(1).nullable().optional(),
786
+ image: FoodCodeManifestImageSchema.nullable().optional(),
787
+ popularity: import_zod13.z.number().nonnegative().optional(),
788
+ source: import_zod13.z.enum(["foodname", "manual", "foodai", "legacy"]).optional()
789
+ });
790
+ var FoodCodeManifestSchema = import_zod13.z.object({
791
+ version: import_zod13.z.string().min(1),
792
+ updatedAt: ISODateTimeStringSchema,
793
+ taxonomyVersion: import_zod13.z.string().min(1),
794
+ etag: import_zod13.z.string().min(1).optional(),
795
+ items: import_zod13.z.array(FoodCodeManifestItemSchema),
796
+ categoryIndex: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.array(FoodCodeSchema)),
797
+ aliasIndex: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.array(FoodCodeSchema)).optional()
798
+ });
799
+ var FoodImageIndexItemSchema = import_zod13.z.object({
800
+ code: FoodCodeSchema,
801
+ label: FoodLabelSchema,
802
+ imageUrl: import_zod13.z.string().min(1).nullable(),
803
+ image: FoodCodeManifestImageSchema.nullable(),
804
+ source: import_zod13.z.enum(["foodname", "manual", "foodai", "legacy"]).optional()
805
+ });
806
+ var FoodImageIndexManifestSchema = import_zod13.z.object({
807
+ version: import_zod13.z.string().min(1),
808
+ updatedAt: ISODateTimeStringSchema,
809
+ taxonomyVersion: import_zod13.z.string().min(1),
810
+ items: import_zod13.z.array(FoodImageIndexItemSchema)
811
+ });
812
+ var ResolvedFoodCodeSchema = import_zod13.z.object({
813
+ code: FoodCodeSchema,
814
+ label: FoodLabelSchema,
815
+ matchedBy: FoodResolvedMatchSourceSchema,
816
+ score: import_zod13.z.number(),
817
+ granularity: FoodGranularitySchema,
818
+ imageUrl: import_zod13.z.string().min(1).nullable().optional()
819
+ });
820
+ var BooleanQuerySchema = import_zod13.z.preprocess((value) => {
821
+ if (value === "true") return true;
822
+ if (value === "false") return false;
823
+ return value;
824
+ }, import_zod13.z.boolean());
825
+ var FoodResolveQuerySchema = import_zod13.z.object({
826
+ q: import_zod13.z.string().default(""),
827
+ limit: import_zod13.z.coerce.number().int().min(1).max(100).optional().default(30),
828
+ recommendableOnly: BooleanQuerySchema.optional().default(true)
829
+ });
830
+ var FoodSearchQuerySchema = import_zod13.z.object({
831
+ q: import_zod13.z.string().default(""),
832
+ limit: import_zod13.z.coerce.number().int().min(1).max(100).optional().default(20)
833
+ });
834
+ var FoodResolveResponseSchema = import_zod13.z.object({
835
+ query: import_zod13.z.string(),
836
+ items: import_zod13.z.array(ResolvedFoodCodeSchema)
837
+ });
838
+ var FoodSearchResponseSchema = FoodResolveResponseSchema;
839
+ var FoodAiClassMappingStatusSchema = import_zod13.z.enum([
840
+ "exact",
841
+ "broad",
842
+ "narrow",
843
+ "merged",
844
+ "ignored",
845
+ "review_required"
846
+ ]);
847
+ var AiClassFoodCodeMappingSchema = import_zod13.z.object({
848
+ classId: import_zod13.z.number().int().nonnegative(),
849
+ aiLabel: import_zod13.z.string().min(1),
850
+ aiAliases: import_zod13.z.array(import_zod13.z.string().min(1)).default([]),
851
+ representativeCode: FoodCodeSchema.nullable(),
852
+ candidateCodes: import_zod13.z.array(FoodCodeSchema).default([]),
853
+ mappingStatus: FoodAiClassMappingStatusSchema,
854
+ granularity: FoodGranularitySchema,
855
+ searchable: import_zod13.z.boolean(),
856
+ recommendable: import_zod13.z.boolean(),
857
+ reason: import_zod13.z.string().min(1).optional()
858
+ });
859
+ var AiClassToFoodCodeMapManifestSchema = import_zod13.z.object({
860
+ version: import_zod13.z.string().min(1),
861
+ updatedAt: ISODateTimeStringSchema,
862
+ modelTaxonomyVersion: import_zod13.z.string().min(1),
863
+ serviceTaxonomyVersion: import_zod13.z.string().min(1),
864
+ classes: import_zod13.z.array(AiClassFoodCodeMappingSchema)
865
+ });
866
+
867
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
868
+ var MealPlanLatitudeSchema = import_zod14.z.number().brand();
869
+ var MealPlanLongitudeSchema = import_zod14.z.number().brand();
870
+ var MealPlanLocationCandidateIdSchema = import_zod14.z.string().min(1).brand();
871
+ var MealPlanMenuCandidateIdSchema = import_zod14.z.string().min(1).brand();
872
+ var MealPlanDecisionStageIdSchema = import_zod14.z.string().uuid().brand();
873
+ var MealPlanVoteIdSchema = import_zod14.z.string().uuid().brand();
874
+ var MealPlanLocationCandidateSourceSchema = import_zod14.z.enum([
875
+ "manual",
876
+ "map-marker",
877
+ "midpoint",
878
+ "user-location",
879
+ "search",
880
+ "recent-place",
881
+ "fallback"
882
+ ]);
883
+ var MealPlanLocationCandidateSchema = import_zod14.z.object({
884
+ locationId: MealPlanLocationCandidateIdSchema,
885
+ placeName: import_zod14.z.string().min(1),
886
+ lat: MealPlanLatitudeSchema,
887
+ lng: MealPlanLongitudeSchema,
888
+ address: import_zod14.z.string().default(""),
889
+ source: MealPlanLocationCandidateSourceSchema.default("manual"),
890
+ createdBy: MemberIdSchema.optional(),
891
+ createdAt: ISODateTimeStringSchema.optional()
892
+ });
893
+ var MealPlanMenuCandidateSourceSchema = import_zod14.z.enum([
894
+ "external-recommendation",
895
+ "prefer-menu",
896
+ "recent-menu",
897
+ "fallback",
898
+ "manual-search"
899
+ ]);
900
+ var MealPlanMenuCandidateSchema = import_zod14.z.object({
901
+ menuCandidateId: MealPlanMenuCandidateIdSchema,
902
+ menu: FoodSchema,
903
+ source: MealPlanMenuCandidateSourceSchema,
904
+ score: import_zod14.z.number().default(0),
905
+ imageUrl: import_zod14.z.string().min(1).nullable().default(null),
906
+ image: FoodCodeManifestImageSchema.nullable().default(null),
907
+ createdAt: ISODateTimeStringSchema
908
+ });
909
+ var MealPlanRestaurantCandidateSchema = RestaurantSchema.extend({
910
+ candidateId: RestaurantIdSchema.optional(),
911
+ source: import_zod14.z.enum(["search", "fallback", "manual"]).optional(),
912
+ createdAt: ISODateTimeStringSchema.optional()
913
+ });
914
+ var MealPlanDecisionStageTypeSchema = import_zod14.z.enum([
915
+ "DATE",
916
+ "TIME",
917
+ "AREA",
918
+ "MENU",
919
+ "RESTAURANT",
920
+ "FINAL_CONFIRMATION"
921
+ ]);
922
+ var MealPlanDecisionStageStatusSchema = import_zod14.z.enum([
923
+ "OPEN",
924
+ "COMPLETED",
925
+ "REOPENED"
926
+ ]);
927
+ var MealPlanRestaurantSearchStatusSchema = import_zod14.z.enum([
928
+ "IDLE",
929
+ "PENDING",
930
+ "READY",
931
+ "FAILED",
932
+ "STALE"
933
+ ]);
934
+ var MealPlanRestaurantSearchStateSchema = import_zod14.z.object({
935
+ searchKey: import_zod14.z.string().min(1).nullable(),
936
+ status: MealPlanRestaurantSearchStatusSchema,
937
+ startedAt: ISODateTimeStringSchema.nullable(),
938
+ completedAt: ISODateTimeStringSchema.nullable(),
939
+ version: import_zod14.z.number().int().min(0),
940
+ candidateCount: import_zod14.z.number().int().min(0),
941
+ errorMessage: import_zod14.z.string().nullable().default(null)
942
+ });
943
+ var MealPlanDecisionStageMetadataSchema = import_zod14.z.object({
944
+ restaurantSearch: MealPlanRestaurantSearchStateSchema.optional()
945
+ }).catchall(import_zod14.z.unknown());
946
+ var MealPlanVoteTypeSchema = import_zod14.z.enum([
947
+ "PICK",
948
+ "EXCLUDE",
949
+ "PREFER",
950
+ "READY"
951
+ ]);
952
+ var MealPlanDecisionCandidateSchema = import_zod14.z.discriminatedUnion("stageType", [
953
+ import_zod14.z.object({ stageType: import_zod14.z.literal("DATE"), value: ISODateStringSchema }),
954
+ import_zod14.z.object({ stageType: import_zod14.z.literal("TIME"), value: TimeHHmmStringSchema }),
955
+ import_zod14.z.object({ stageType: import_zod14.z.literal("AREA"), value: MealPlanLocationCandidateSchema }),
956
+ import_zod14.z.object({ stageType: import_zod14.z.literal("MENU"), value: MealPlanMenuCandidateSchema }),
957
+ import_zod14.z.object({ stageType: import_zod14.z.literal("RESTAURANT"), value: MealPlanRestaurantCandidateSchema }),
958
+ import_zod14.z.object({ stageType: import_zod14.z.literal("FINAL_CONFIRMATION"), value: import_zod14.z.literal("READY") })
959
+ ]);
960
+ var MealPlanVoteSchema = import_zod14.z.object({
961
+ voteId: MealPlanVoteIdSchema,
962
+ voterId: MemberIdSchema.nullable(),
963
+ guestId: import_zod14.z.string().min(1).nullable(),
964
+ voteType: MealPlanVoteTypeSchema,
965
+ candidate: MealPlanDecisionCandidateSchema,
966
+ createdAt: ISODateTimeStringSchema
967
+ });
968
+ var MealPlanDecisionStageResponseSchema = import_zod14.z.object({
969
+ stageId: MealPlanDecisionStageIdSchema,
970
+ stageType: MealPlanDecisionStageTypeSchema,
971
+ status: MealPlanDecisionStageStatusSchema,
972
+ candidates: import_zod14.z.array(MealPlanDecisionCandidateSchema),
973
+ votes: import_zod14.z.array(MealPlanVoteSchema),
974
+ selectedCandidate: MealPlanDecisionCandidateSchema.nullable(),
975
+ metadata: MealPlanDecisionStageMetadataSchema.nullable().default(null),
976
+ openedAt: ISODateTimeStringSchema,
977
+ completedAt: ISODateTimeStringSchema.nullable(),
978
+ reopenedAt: ISODateTimeStringSchema.nullable()
979
+ });
980
+ var CreateMealPlanVoteRequestSchema = import_zod14.z.object({
981
+ voteType: MealPlanVoteTypeSchema,
982
+ candidate: MealPlanDecisionCandidateSchema
983
+ });
984
+ var CompleteMealPlanDecisionStageRequestSchema = import_zod14.z.object({
985
+ selectedCandidate: MealPlanDecisionCandidateSchema
986
+ });
987
+ var MealPlanChangeRequestStatusSchema = import_zod14.z.enum([
988
+ "PENDING",
989
+ "ACCEPTED",
990
+ "REJECTED",
991
+ "CANCELLED"
992
+ ]);
993
+ var CreateMealPlanChangeRequestSchema = import_zod14.z.object({
994
+ stageType: MealPlanDecisionStageTypeSchema,
995
+ reason: import_zod14.z.string().min(1).max(500),
996
+ proposedCandidate: MealPlanDecisionCandidateSchema.optional()
997
+ });
998
+ var MealPlanChangeRequestSummarySchema = import_zod14.z.object({
999
+ changeRequestId: MealPlanChangeRequestIdSchema,
1000
+ stageType: MealPlanDecisionStageTypeSchema,
1001
+ status: MealPlanChangeRequestStatusSchema,
1002
+ reason: import_zod14.z.string(),
1003
+ requestedAt: ISODateTimeStringSchema
1004
+ });
1005
+ var MealPlanDecisionTaskKeySchema = import_zod14.z.enum([
1006
+ "SCHEDULE_DATE",
1007
+ "SCHEDULE_TIME",
1008
+ "LOCATION_CANDIDATE",
1009
+ "LOCATION_VOTE",
1010
+ "EXCLUDE_MENU",
1011
+ "PREFER_MENU",
1012
+ "MENU_PICK",
1013
+ "RESTAURANT_SEARCH",
1014
+ "RESTAURANT_PICK",
1015
+ "FINAL_CONFIRMATION"
1016
+ ]);
1017
+ var MealPlanDecisionTaskStatusSchema = import_zod14.z.enum([
1018
+ "LOCKED",
1019
+ "OPEN",
1020
+ "RESOLVED",
1021
+ "STALE"
548
1022
  ]);
549
- var RoomTypeSchema = import_zod14.z.enum(["recruit", "invitation"]);
550
- var InvitationRoomStageSchema = import_zod14.z.enum([
551
- "waiting",
1023
+ var MealPlanDecisionFinalFieldSchema = import_zod14.z.enum([
552
1024
  "date",
553
1025
  "time",
554
- "location",
555
- "location-vote",
556
- "exclude-menu",
1026
+ "meetingAt",
1027
+ "area",
557
1028
  "menu",
558
- "restaurant",
559
- "finish"
1029
+ "restaurant"
560
1030
  ]);
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),
1031
+ var MealPlanDecisionSnapshotStatusSchema = import_zod14.z.enum([
1032
+ "CANDIDATE",
1033
+ "PROVISIONAL",
1034
+ "FINAL",
1035
+ "STALE"
1036
+ ]);
1037
+ var MealPlanDecisionReasonSchema = import_zod14.z.enum([
1038
+ "COMMON_SCHEDULE",
1039
+ "TOP_VOTED_LOCATION",
1040
+ "TOP_PICKED_MENU",
1041
+ "TOP_PICKED_RESTAURANT",
1042
+ "OWNER_CONFIRMED",
1043
+ "MANUAL_SELECTION"
1044
+ ]);
1045
+ var MealPlanDecisionActorTypeSchema = import_zod14.z.enum(["MEMBER", "GUEST", "SYSTEM"]);
1046
+ var MealPlanDecisionSnapshotSchema = import_zod14.z.object({
1047
+ snapshotId: import_zod14.z.string().uuid(),
1048
+ mealPlanId: import_zod14.z.string().uuid(),
1049
+ field: MealPlanDecisionFinalFieldSchema,
1050
+ value: import_zod14.z.unknown(),
1051
+ status: MealPlanDecisionSnapshotStatusSchema,
1052
+ reason: MealPlanDecisionReasonSchema,
1053
+ score: import_zod14.z.number().nullable().default(null),
1054
+ sourceEvent: import_zod14.z.string().min(1),
1055
+ sourceActorType: MealPlanDecisionActorTypeSchema,
1056
+ sourceMemberId: MemberIdSchema.nullable(),
1057
+ sourceGuestId: import_zod14.z.string().min(1).nullable(),
1058
+ sourceParticipantId: import_zod14.z.string().uuid().nullable(),
1059
+ sourceVersion: import_zod14.z.number().int().min(0),
1060
+ dependencyHash: import_zod14.z.string().min(1),
1061
+ dependencyFields: import_zod14.z.array(MealPlanDecisionFinalFieldSchema),
591
1062
  createdAt: ISODateTimeStringSchema,
592
- readAt: ISODateTimeStringSchema.nullable()
1063
+ staleAt: ISODateTimeStringSchema.nullable()
593
1064
  });
594
- var RoomSocketErrorSchema = import_zod14.z.object({
595
- code: import_zod14.z.string(),
596
- message: import_zod14.z.string()
1065
+ var MealPlanDecisionTaskProgressSchema = import_zod14.z.object({
1066
+ taskKey: MealPlanDecisionTaskKeySchema,
1067
+ status: MealPlanDecisionTaskStatusSchema,
1068
+ blockers: import_zod14.z.array(import_zod14.z.string()).default([]),
1069
+ updatedAt: ISODateTimeStringSchema
597
1070
  });
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
1071
+ var MealPlanDecisionProgressSchema = import_zod14.z.object({
1072
+ mealPlanId: import_zod14.z.string().uuid(),
1073
+ status: import_zod14.z.string().min(1),
1074
+ tasks: import_zod14.z.array(MealPlanDecisionTaskProgressSchema),
1075
+ final: import_zod14.z.record(import_zod14.z.string(), import_zod14.z.unknown()),
1076
+ provisional: import_zod14.z.record(import_zod14.z.string(), import_zod14.z.unknown()),
1077
+ snapshots: import_zod14.z.array(MealPlanDecisionSnapshotSchema),
1078
+ version: import_zod14.z.number().int().min(0),
1079
+ updatedAt: ISODateTimeStringSchema
603
1080
  });
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 })
1081
+ var ReopenMealPlanDecisionTaskRequestSchema = import_zod14.z.object({
1082
+ reason: import_zod14.z.string().max(500).optional()
1083
+ });
1084
+ var ConfirmMealPlanDecisionSnapshotRequestSchema = import_zod14.z.object({
1085
+ snapshotId: import_zod14.z.string().uuid()
1086
+ });
1087
+
1088
+ // src/domain/meal-plan/meal-plan-participant.schema.ts
1089
+ var import_zod15 = require("zod");
1090
+ var MealPlanParticipantIdSchema = import_zod15.z.string().uuid().brand();
1091
+ var MealPlanParticipantRoleSchema = import_zod15.z.enum([
1092
+ "OWNER",
1093
+ "FRIEND",
1094
+ "GUEST"
672
1095
  ]);
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
- };
1096
+ var MealPlanParticipantStatusSchema = import_zod15.z.enum([
1097
+ "INVITED",
1098
+ "REQUESTED",
1099
+ "JOINED",
1100
+ "READY",
1101
+ "DECLINED",
1102
+ "LEFT",
1103
+ "REMOVED"
1104
+ ]);
1105
+ var MealPlanJoinSourceSchema = import_zod15.z.enum([
1106
+ "OWNER",
1107
+ "FRIEND_INVITE",
1108
+ "LINK_GUEST",
1109
+ "NEARBY_FRIENDS"
1110
+ ]);
1111
+ var MealPlanGuestParticipantSchema = import_zod15.z.object({
1112
+ guestId: import_zod15.z.string().min(1),
1113
+ nickname: import_zod15.z.string().min(1).max(50)
1114
+ });
1115
+ var MealPlanParticipantResponseSchema = import_zod15.z.object({
1116
+ participantId: MealPlanParticipantIdSchema,
1117
+ mealPlanId: MealPlanIdSchema,
1118
+ member: MemberCoreSchema.nullable(),
1119
+ guest: MealPlanGuestParticipantSchema.nullable(),
1120
+ role: MealPlanParticipantRoleSchema,
1121
+ status: MealPlanParticipantStatusSchema,
1122
+ source: MealPlanJoinSourceSchema,
1123
+ joinedAt: ISODateTimeStringSchema.nullable(),
1124
+ readyAt: ISODateTimeStringSchema.nullable()
1125
+ });
1126
+ var CreateMealPlanParticipantRequestSchema = import_zod15.z.object({
1127
+ memberId: MemberIdSchema.optional(),
1128
+ guestNickname: import_zod15.z.string().min(1).max(50).optional(),
1129
+ source: MealPlanJoinSourceSchema
1130
+ });
700
1131
 
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,
1132
+ // src/domain/meal-plan/meal-plan-invite.schema.ts
1133
+ var import_zod16 = require("zod");
1134
+ var MealPlanInviteStatusSchema = import_zod16.z.enum([
1135
+ "PENDING",
1136
+ "ACCEPTED",
1137
+ "DECLINED",
1138
+ "CANCELLED",
1139
+ "EXPIRED"
1140
+ ]);
1141
+ var CreateMealPlanInviteRequestSchema = import_zod16.z.object({
1142
+ inviteeId: MemberIdSchema,
1143
+ message: import_zod16.z.string().max(500).default("")
1144
+ });
1145
+ var MealPlanInviteSummarySchema = import_zod16.z.object({
1146
+ inviteId: MealPlanInviteIdSchema,
1147
+ mealPlanId: MealPlanIdSchema,
1148
+ inviter: MemberCoreSchema,
1149
+ invitee: MemberCoreSchema,
1150
+ status: MealPlanInviteStatusSchema,
1151
+ message: import_zod16.z.string().max(500),
1152
+ createdAt: ISODateTimeStringSchema,
1153
+ respondedAt: ISODateTimeStringSchema.nullable()
1154
+ });
1155
+ var MealPlanInviteListResponseSchema = import_zod16.z.array(MealPlanInviteSummarySchema);
1156
+ var SendMealPlanInviteResponseSchema = import_zod16.z.object({
1157
+ inviteId: MealPlanInviteIdSchema
1158
+ });
1159
+
1160
+ // src/domain/meal-plan/meal-plan-nearby-friend.schema.ts
1161
+ var import_zod17 = require("zod");
1162
+ var MealPlanNearbyFriendExposureIdSchema = import_zod17.z.string().uuid().brand();
1163
+ var MealPlanNearbyFriendExposureStatusSchema = import_zod17.z.enum([
1164
+ "OPEN",
1165
+ "CLOSED",
1166
+ "EXPIRED"
1167
+ ]);
1168
+ var MealPlanNearbyFriendExposureNotificationStatusSchema = import_zod17.z.enum([
1169
+ "PENDING",
1170
+ "SENT",
1171
+ "PARTIAL",
1172
+ "FAILED",
1173
+ "SKIPPED"
1174
+ ]);
1175
+ var ExposeMealPlanToNearbyFriendsRequestSchema = import_zod17.z.object({
1176
+ radiusMeters: import_zod17.z.number().int().min(100).max(5e3).default(1e3),
1177
+ expiresAt: ISODateTimeStringSchema.optional()
1178
+ });
1179
+ var NearbyFriendExposureEligibilitySchema = import_zod17.z.object({
1180
+ canExpose: import_zod17.z.boolean(),
1181
+ locationConsentStatus: LocationConsentStatusSchema,
1182
+ nearbyMealPlanExposureAllowed: import_zod17.z.boolean(),
1183
+ mealSuggestionAllowed: import_zod17.z.boolean(),
1184
+ hasLastKnownLocation: import_zod17.z.boolean(),
1185
+ missingRequirements: import_zod17.z.array(import_zod17.z.enum([
1186
+ "LOCATION_PERMISSION",
1187
+ "SERVICE_LOCATION_CONSENT",
1188
+ "NEARBY_EXPOSURE_TOGGLE",
1189
+ "MEAL_SUGGESTION_TOGGLE",
1190
+ "LAST_KNOWN_LOCATION"
1191
+ ]))
1192
+ });
1193
+ var MealPlanNearbyFriendRejectionReasonSchema = import_zod17.z.enum([
1194
+ "NOT_FRIEND",
1195
+ "BLOCKED",
1196
+ "LOCATION_CONSENT_REQUIRED",
1197
+ "LOCATION_UNAVAILABLE",
1198
+ "OUT_OF_RADIUS",
1199
+ "MEAL_SUGGESTION_DISABLED",
1200
+ "NOT_HUNGRY"
1201
+ ]);
1202
+ var MealPlanNearbyFriendRejectionSummarySchema = import_zod17.z.object({
1203
+ reason: MealPlanNearbyFriendRejectionReasonSchema,
1204
+ count: import_zod17.z.number().int().min(0)
1205
+ });
1206
+ var ExposeMealPlanToNearbyFriendsResponseSchema = import_zod17.z.object({
1207
+ mealPlanId: MealPlanIdSchema,
1208
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
1209
+ exposedFriendCount: import_zod17.z.number().int().min(0),
1210
+ rejectedFriendCount: import_zod17.z.number().int().min(0),
1211
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
1212
+ rejectionSummary: import_zod17.z.array(MealPlanNearbyFriendRejectionSummarySchema)
1213
+ });
1214
+ var MealPlanNearbyFriendExposureSummarySchema = import_zod17.z.object({
1215
+ exposureId: MealPlanNearbyFriendExposureIdSchema,
1216
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema.nullable(),
1217
+ mealPlanId: MealPlanIdSchema,
1218
+ status: MealPlanNearbyFriendExposureStatusSchema,
1219
+ radiusMeters: import_zod17.z.number().int().min(100),
1220
+ exposedFriendCount: import_zod17.z.number().int().min(0),
1221
+ openedAt: ISODateTimeStringSchema,
1222
+ expiresAt: ISODateTimeStringSchema.nullable(),
1223
+ closedAt: ISODateTimeStringSchema.nullable()
1224
+ });
1225
+ var MealPlanNearbyFriendExposureBatchSummarySchema = import_zod17.z.object({
1226
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
1227
+ mealPlanId: MealPlanIdSchema,
1228
+ status: MealPlanNearbyFriendExposureStatusSchema,
1229
+ radiusMeters: import_zod17.z.number().int().min(100),
1230
+ exposedFriendCount: import_zod17.z.number().int().min(0),
1231
+ rejectedFriendCount: import_zod17.z.number().int().min(0),
1232
+ rejectionSummary: import_zod17.z.array(MealPlanNearbyFriendRejectionSummarySchema),
1233
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
1234
+ notificationSentAt: ISODateTimeStringSchema.nullable(),
1235
+ openedAt: ISODateTimeStringSchema,
1236
+ expiresAt: ISODateTimeStringSchema.nullable(),
1237
+ closedAt: ISODateTimeStringSchema.nullable()
1238
+ });
1239
+ var MealPlanJoinRequestStatusSchema = import_zod17.z.enum([
1240
+ "PENDING",
1241
+ "ACCEPTED",
1242
+ "REJECTED",
1243
+ "CANCELLED"
1244
+ ]);
1245
+ var CreateMealPlanJoinRequestSchema = import_zod17.z.object({
1246
+ message: import_zod17.z.string().max(500).default("")
1247
+ });
1248
+ var MealPlanJoinRequestSummarySchema = import_zod17.z.object({
1249
+ joinRequestId: MealPlanJoinRequestIdSchema,
1250
+ mealPlanId: MealPlanIdSchema,
1251
+ requester: MemberCoreSchema,
1252
+ status: MealPlanJoinRequestStatusSchema,
1253
+ message: import_zod17.z.string().max(500),
1254
+ requestedAt: ISODateTimeStringSchema,
1255
+ respondedAt: ISODateTimeStringSchema.nullable()
1256
+ });
1257
+ var NearbyFriendMealPlanSummarySchema = import_zod17.z.object({
1258
+ mealPlanId: MealPlanIdSchema,
1259
+ owner: MemberCoreSchema,
1260
+ title: import_zod17.z.string(),
1261
+ participantCount: import_zod17.z.number().int().min(1),
1262
+ distanceMeters: import_zod17.z.number().int().min(0),
1263
+ exposedAt: ISODateTimeStringSchema,
1264
+ expiresAt: ISODateTimeStringSchema.nullable(),
1265
+ joinRequestStatus: MealPlanJoinRequestStatusSchema.nullable().default(null)
1266
+ });
1267
+
1268
+ // src/domain/meal-plan/meal-plan-chat.schema.ts
1269
+ var import_zod18 = require("zod");
1270
+ var MealPlanChatMessageKindSchema = import_zod18.z.enum([
1271
+ "USER",
1272
+ "SYSTEM"
1273
+ ]);
1274
+ var MealPlanSystemMessageKindSchema = import_zod18.z.enum([
1275
+ "PARTICIPANT_JOINED",
1276
+ "PARTICIPANT_READY",
1277
+ "PARTICIPANT_REMOVED",
1278
+ "STATUS_CHANGED",
1279
+ "DECISION_UPDATED",
1280
+ "CONFIRMED",
1281
+ "RECORD_NEEDED"
1282
+ ]);
1283
+ var MealPlanChatSystemPayloadSchema = import_zod18.z.object({
1284
+ kind: MealPlanSystemMessageKindSchema
1285
+ }).catchall(import_zod18.z.unknown());
1286
+ var MealPlanChatMessageListResponseSchema = import_zod18.z.array(
1287
+ import_zod18.z.lazy(() => MealPlanChatMessageResponseSchema)
1288
+ );
1289
+ var MealPlanChatRoomSummarySchema = import_zod18.z.object({
1290
+ chatRoomId: MealPlanChatRoomIdSchema,
1291
+ mealPlanId: MealPlanIdSchema,
1292
+ messageCount: import_zod18.z.number().int().min(0),
1293
+ lastMessageAt: ISODateTimeStringSchema.nullable(),
1294
+ createdAt: ISODateTimeStringSchema
1295
+ });
1296
+ var SendMealPlanChatMessageRequestSchema = import_zod18.z.object({
1297
+ message: import_zod18.z.string().min(1).max(500)
1298
+ });
1299
+ var MealPlanChatMessageResponseSchema = import_zod18.z.object({
1300
+ messageId: MealPlanChatMessageIdSchema,
1301
+ chatRoomId: MealPlanChatRoomIdSchema,
1302
+ sender: MemberCoreSchema.nullable(),
1303
+ guestId: import_zod18.z.string().min(1).nullable(),
1304
+ guestNickname: import_zod18.z.string().min(1).nullable(),
1305
+ kind: MealPlanChatMessageKindSchema,
1306
+ message: import_zod18.z.string().min(1).max(1e3),
1307
+ systemPayload: MealPlanChatSystemPayloadSchema.nullable(),
1308
+ createdAt: ISODateTimeStringSchema
1309
+ });
1310
+ var MealPlanSystemMessageSchema = import_zod18.z.object({
1311
+ kind: MealPlanSystemMessageKindSchema,
1312
+ message: import_zod18.z.string().min(1),
1313
+ createdAt: ISODateTimeStringSchema
1314
+ });
1315
+
1316
+ // src/domain/meal-plan/meal-plan.schema.ts
1317
+ var MealPlanStatusSchema = import_zod19.z.enum([
1318
+ "DRAFT",
1319
+ "RECOMMENDING",
1320
+ "GATHERING",
1321
+ "DECIDING",
1322
+ "READY",
1323
+ "CONFIRMED",
1324
+ "LOCKED",
1325
+ "COMPLETED",
1326
+ "RECORDED",
1327
+ "CANCELLED"
1328
+ ]);
1329
+ var MealPlanChannelSchema = import_zod19.z.enum([
1330
+ "OWNER_ONLY",
1331
+ "FRIEND_INVITE",
1332
+ "LINK_GUEST",
1333
+ "NEARBY_FRIENDS"
1334
+ ]);
1335
+ var MealPlanRecommendationContextSchema = import_zod19.z.object({
1336
+ mealDate: ISODateStringSchema.optional(),
1337
+ mealTime: TimeHHmmStringSchema.optional(),
1338
+ area: MealPlanLocationCandidateSchema.optional(),
1339
+ preferredMenuCategories: import_zod19.z.array(import_zod19.z.string().min(1)).default([]),
1340
+ excludedMenuCategories: import_zod19.z.array(import_zod19.z.string().min(1)).default([]),
1341
+ candidateMenuCategories: import_zod19.z.array(import_zod19.z.string().min(1)).default([]),
1342
+ budgetMin: import_zod19.z.number().int().min(0).optional(),
1343
+ budgetMax: import_zod19.z.number().int().min(0).optional(),
1344
+ memo: import_zod19.z.string().max(500).optional()
1345
+ });
1346
+ var CreateMealPlanRequestSchema = import_zod19.z.object({
1347
+ title: import_zod19.z.string().min(1).max(100).optional(),
1348
+ channels: import_zod19.z.array(MealPlanChannelSchema).default(["OWNER_ONLY"]),
1349
+ recommendationContext: MealPlanRecommendationContextSchema.optional()
1350
+ });
1351
+ var CreateMealPlanResponseSchema = import_zod19.z.object({
1352
+ mealPlanId: MealPlanIdSchema
1353
+ });
1354
+ var UpdateMealPlanContextRequestSchema = MealPlanRecommendationContextSchema.partial();
1355
+ var MealPlanViewerRoleSchema = import_zod19.z.enum([
1356
+ "OWNER",
1357
+ "FRIEND",
1358
+ "GUEST",
1359
+ "NONE"
1360
+ ]);
1361
+ var MealPlanViewerPermissionsSchema = import_zod19.z.object({
1362
+ canView: import_zod19.z.boolean(),
1363
+ canInviteFriends: import_zod19.z.boolean(),
1364
+ canManageParticipants: import_zod19.z.boolean(),
1365
+ canCreateShareLink: import_zod19.z.boolean(),
1366
+ canExposeNearbyFriends: import_zod19.z.boolean(),
1367
+ canVote: import_zod19.z.boolean(),
1368
+ canChat: import_zod19.z.boolean(),
1369
+ canReadyMealPlan: import_zod19.z.boolean(),
1370
+ canRequestChange: import_zod19.z.boolean(),
1371
+ canReopenDecisionTask: import_zod19.z.boolean(),
1372
+ canConfirmDecisionSnapshot: import_zod19.z.boolean(),
1373
+ canConfirmMealPlan: import_zod19.z.boolean(),
1374
+ canCompleteMealPlan: import_zod19.z.boolean(),
1375
+ canRecordMealPlan: import_zod19.z.boolean(),
1376
+ canCancelMealPlan: import_zod19.z.boolean()
1377
+ });
1378
+ var MealPlanResponseSchema = import_zod19.z.object({
1379
+ mealPlanId: MealPlanIdSchema,
1380
+ owner: MemberCoreSchema,
1381
+ title: import_zod19.z.string().nullable(),
1382
+ status: MealPlanStatusSchema,
1383
+ channels: import_zod19.z.array(MealPlanChannelSchema),
1384
+ participants: import_zod19.z.array(MealPlanParticipantResponseSchema),
1385
+ pendingInvites: import_zod19.z.array(MealPlanInviteSummarySchema),
1386
+ pendingJoinRequests: import_zod19.z.array(MealPlanJoinRequestSummarySchema),
1387
+ decisionStages: import_zod19.z.array(MealPlanDecisionStageResponseSchema),
1388
+ decisionProgress: MealPlanDecisionProgressSchema.nullable(),
1389
+ viewerRole: MealPlanViewerRoleSchema,
1390
+ viewerParticipantStatus: MealPlanParticipantStatusSchema.nullable(),
1391
+ viewerPermissions: MealPlanViewerPermissionsSchema,
1392
+ selectedDate: ISODateStringSchema.nullable(),
1393
+ selectedTime: TimeHHmmStringSchema.nullable(),
1394
+ selectedArea: MealPlanLocationCandidateSchema.nullable(),
1395
+ selectedRestaurant: RestaurantSchema.nullable(),
1396
+ selectedMenuCategory: import_zod19.z.string().nullable(),
1397
+ chatRoom: MealPlanChatRoomSummarySchema.nullable(),
1398
+ confirmedAt: ISODateTimeStringSchema.nullable(),
1399
+ lockedAt: ISODateTimeStringSchema.nullable(),
1400
+ completedAt: ISODateTimeStringSchema.nullable(),
1401
+ recordedAt: ISODateTimeStringSchema.nullable(),
713
1402
  createdAt: ISODateTimeStringSchema,
714
1403
  updatedAt: ISODateTimeStringSchema
715
1404
  });
716
- var PlanListQuerySchema = import_zod15.z.object({});
1405
+ var MyMealPlanGroupSchema = import_zod19.z.enum(["DECIDING", "UPCOMING", "RECORD_NEEDED", "PAST"]);
1406
+ var MyMealPlanListItemSchema = import_zod19.z.object({
1407
+ mealPlanId: MealPlanIdSchema,
1408
+ group: MyMealPlanGroupSchema,
1409
+ title: import_zod19.z.string(),
1410
+ status: MealPlanStatusSchema,
1411
+ channels: import_zod19.z.array(MealPlanChannelSchema),
1412
+ participantCount: import_zod19.z.number().int().min(1),
1413
+ selectedDate: ISODateStringSchema.nullable(),
1414
+ selectedTime: TimeHHmmStringSchema.nullable(),
1415
+ selectedAreaName: import_zod19.z.string().nullable(),
1416
+ selectedRestaurantName: import_zod19.z.string().nullable(),
1417
+ primaryAction: import_zod19.z.object({
1418
+ label: import_zod19.z.string(),
1419
+ href: import_zod19.z.string()
1420
+ }),
1421
+ updatedAt: ISODateTimeStringSchema
1422
+ });
1423
+ var MyMealPlanListResponseSchema = import_zod19.z.object({
1424
+ deciding: import_zod19.z.array(MyMealPlanListItemSchema),
1425
+ upcoming: import_zod19.z.array(MyMealPlanListItemSchema),
1426
+ recordNeeded: import_zod19.z.array(MyMealPlanListItemSchema),
1427
+ past: import_zod19.z.array(MyMealPlanListItemSchema)
1428
+ });
1429
+ var MealPlanNotificationKindSchema = import_zod19.z.enum([
1430
+ "MEAL_PLAN_INVITE_RECEIVED",
1431
+ "MEAL_PLAN_INVITE_ACCEPTED",
1432
+ "MEAL_PLAN_JOIN_REQUESTED",
1433
+ "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
1434
+ "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
1435
+ "MEAL_PLAN_PARTICIPANT_JOINED",
1436
+ "MEAL_PLAN_READY_COMPLETED",
1437
+ "MEAL_PLAN_CONFIRMED",
1438
+ "MEAL_PLAN_LOCKED",
1439
+ "MEAL_PLAN_RECORD_NEEDED"
1440
+ ]);
1441
+ var MealPlanNotificationPriorityChannelSchema = import_zod19.z.enum([
1442
+ "HOME",
1443
+ "NOTIFICATION_INBOX",
1444
+ "FCM_PUSH",
1445
+ "LIVE_ACTIVITY"
1446
+ ]);
1447
+ var MealPlanLiveActivityBehaviorSchema = import_zod19.z.enum([
1448
+ "NONE",
1449
+ "START_OR_UPDATE",
1450
+ "UPDATE",
1451
+ "END"
1452
+ ]);
1453
+ var MealPlanNotificationPriorityPolicyItemSchema = import_zod19.z.object({
1454
+ kind: MealPlanNotificationKindSchema,
1455
+ priority: import_zod19.z.number().int().min(0),
1456
+ homePriority: import_zod19.z.number().int().min(0),
1457
+ inboxPriority: import_zod19.z.number().int().min(0),
1458
+ fcmPriority: import_zod19.z.number().int().min(0),
1459
+ liveActivityPriority: import_zod19.z.number().int().min(0),
1460
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema,
1461
+ foregroundToast: import_zod19.z.boolean()
1462
+ });
1463
+ var MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES = {
1464
+ MEAL_PLAN_JOIN_REQUESTED: {
1465
+ kind: "MEAL_PLAN_JOIN_REQUESTED",
1466
+ priority: 5,
1467
+ homePriority: 5,
1468
+ inboxPriority: 5,
1469
+ fcmPriority: 10,
1470
+ liveActivityPriority: 80,
1471
+ liveActivityBehavior: "NONE",
1472
+ foregroundToast: true
1473
+ },
1474
+ MEAL_PLAN_INVITE_RECEIVED: {
1475
+ kind: "MEAL_PLAN_INVITE_RECEIVED",
1476
+ priority: 12,
1477
+ homePriority: 12,
1478
+ inboxPriority: 12,
1479
+ fcmPriority: 15,
1480
+ liveActivityPriority: 80,
1481
+ liveActivityBehavior: "NONE",
1482
+ foregroundToast: true
1483
+ },
1484
+ MEAL_PLAN_RECORD_NEEDED: {
1485
+ kind: "MEAL_PLAN_RECORD_NEEDED",
1486
+ priority: 18,
1487
+ homePriority: 18,
1488
+ inboxPriority: 18,
1489
+ fcmPriority: 20,
1490
+ liveActivityPriority: 60,
1491
+ liveActivityBehavior: "END",
1492
+ foregroundToast: true
1493
+ },
1494
+ MEAL_PLAN_LOCKED: {
1495
+ kind: "MEAL_PLAN_LOCKED",
1496
+ priority: 22,
1497
+ homePriority: 22,
1498
+ inboxPriority: 22,
1499
+ fcmPriority: 8,
1500
+ liveActivityPriority: 5,
1501
+ liveActivityBehavior: "START_OR_UPDATE",
1502
+ foregroundToast: true
1503
+ },
1504
+ MEAL_PLAN_CONFIRMED: {
1505
+ kind: "MEAL_PLAN_CONFIRMED",
1506
+ priority: 24,
1507
+ homePriority: 24,
1508
+ inboxPriority: 24,
1509
+ fcmPriority: 12,
1510
+ liveActivityPriority: 12,
1511
+ liveActivityBehavior: "START_OR_UPDATE",
1512
+ foregroundToast: true
1513
+ },
1514
+ MEAL_PLAN_NEARBY_FRIEND_EXPOSED: {
1515
+ kind: "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
1516
+ priority: 28,
1517
+ homePriority: 28,
1518
+ inboxPriority: 28,
1519
+ fcmPriority: 24,
1520
+ liveActivityPriority: 80,
1521
+ liveActivityBehavior: "NONE",
1522
+ foregroundToast: false
1523
+ },
1524
+ MEAL_PLAN_READY_COMPLETED: {
1525
+ kind: "MEAL_PLAN_READY_COMPLETED",
1526
+ priority: 32,
1527
+ homePriority: 32,
1528
+ inboxPriority: 32,
1529
+ fcmPriority: 28,
1530
+ liveActivityPriority: 20,
1531
+ liveActivityBehavior: "UPDATE",
1532
+ foregroundToast: false
1533
+ },
1534
+ MEAL_PLAN_JOIN_REQUEST_ACCEPTED: {
1535
+ kind: "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
1536
+ priority: 36,
1537
+ homePriority: 36,
1538
+ inboxPriority: 36,
1539
+ fcmPriority: 30,
1540
+ liveActivityPriority: 80,
1541
+ liveActivityBehavior: "NONE",
1542
+ foregroundToast: true
1543
+ },
1544
+ MEAL_PLAN_INVITE_ACCEPTED: {
1545
+ kind: "MEAL_PLAN_INVITE_ACCEPTED",
1546
+ priority: 40,
1547
+ homePriority: 40,
1548
+ inboxPriority: 40,
1549
+ fcmPriority: 34,
1550
+ liveActivityPriority: 80,
1551
+ liveActivityBehavior: "NONE",
1552
+ foregroundToast: true
1553
+ },
1554
+ MEAL_PLAN_PARTICIPANT_JOINED: {
1555
+ kind: "MEAL_PLAN_PARTICIPANT_JOINED",
1556
+ priority: 44,
1557
+ homePriority: 44,
1558
+ inboxPriority: 44,
1559
+ fcmPriority: 38,
1560
+ liveActivityPriority: 32,
1561
+ liveActivityBehavior: "UPDATE",
1562
+ foregroundToast: false
1563
+ }
1564
+ };
1565
+ var MealPlanNotificationSchema = import_zod19.z.object({
1566
+ notificationId: import_zod19.z.string().min(1),
1567
+ kind: MealPlanNotificationKindSchema,
1568
+ mealPlanId: MealPlanIdSchema,
1569
+ deepLink: import_zod19.z.string().min(1),
1570
+ title: import_zod19.z.string().min(1),
1571
+ message: import_zod19.z.string().min(1),
1572
+ createdAt: ISODateTimeStringSchema,
1573
+ readAt: ISODateTimeStringSchema.nullable()
1574
+ });
717
1575
 
718
- // src/domain/recruit/recruit.schema.ts
719
- 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),
731
- message: import_zod16.z.string().max(500),
732
- recruitId: RecruitIdSchema,
733
- status: RecruitStatusSchema,
1576
+ // src/domain/meal-plan/meal-plan-share-link.schema.ts
1577
+ var import_zod20 = require("zod");
1578
+ var CreateMealPlanShareLinkRequestSchema = import_zod20.z.object({
1579
+ expiresAt: ISODateTimeStringSchema.optional(),
1580
+ guestJoinEnabled: import_zod20.z.boolean().default(true)
1581
+ });
1582
+ var MealPlanShareLinkSummarySchema = import_zod20.z.object({
1583
+ shareLinkId: MealPlanShareLinkIdSchema,
1584
+ mealPlanId: MealPlanIdSchema,
1585
+ token: MealPlanShareLinkTokenSchema,
1586
+ url: import_zod20.z.string().url(),
1587
+ expiresAt: ISODateTimeStringSchema,
1588
+ guestJoinEnabled: import_zod20.z.boolean(),
1589
+ createdAt: ISODateTimeStringSchema
1590
+ });
1591
+ var MealPlanSharePreviewResponseSchema = import_zod20.z.object({
1592
+ mealPlanId: MealPlanIdSchema,
1593
+ token: MealPlanShareLinkTokenSchema,
1594
+ title: import_zod20.z.string(),
1595
+ ownerName: import_zod20.z.string(),
1596
+ participantCount: import_zod20.z.number().int().min(1),
1597
+ expiresAt: ISODateTimeStringSchema,
1598
+ guestJoinEnabled: import_zod20.z.boolean()
1599
+ });
1600
+ var JoinMealPlanGuestRequestSchema = import_zod20.z.object({
1601
+ nickname: import_zod20.z.string().min(1).max(50),
1602
+ password: import_zod20.z.string().min(1).max(100).optional()
1603
+ });
1604
+ var JoinMealPlanGuestResponseSchema = import_zod20.z.object({
1605
+ mealPlanId: MealPlanIdSchema,
1606
+ guestId: import_zod20.z.string().min(1),
1607
+ sessionToken: import_zod20.z.string().min(1)
1608
+ });
1609
+ var MealPlanGuestSessionQuerySchema = import_zod20.z.object({
1610
+ sessionToken: import_zod20.z.string().min(1)
1611
+ });
1612
+ var MealPlanGuestSessionResponseSchema = import_zod20.z.object({
1613
+ mealPlan: MealPlanResponseSchema,
1614
+ token: MealPlanShareLinkTokenSchema,
1615
+ guestId: import_zod20.z.string().min(1),
1616
+ nickname: import_zod20.z.string().min(1).max(50),
1617
+ sessionToken: import_zod20.z.string().min(1)
1618
+ });
1619
+
1620
+ // src/domain/meal-plan/meal-group.schema.ts
1621
+ var import_zod21 = require("zod");
1622
+ var MealGroupMemberRoleSchema = import_zod21.z.enum([
1623
+ "OWNER",
1624
+ "MEMBER"
1625
+ ]);
1626
+ var MealGroupMemberSchema = import_zod21.z.object({
1627
+ member: MemberCoreSchema,
1628
+ role: MealGroupMemberRoleSchema,
1629
+ joinedAt: ISODateTimeStringSchema
1630
+ });
1631
+ var MealGroupResponseSchema = import_zod21.z.object({
1632
+ mealGroupId: MealGroupIdSchema,
1633
+ name: import_zod21.z.string().min(1).max(50),
1634
+ owner: MemberCoreSchema,
1635
+ profileImageUrl: import_zod21.z.string().url().nullable(),
1636
+ members: import_zod21.z.array(MealGroupMemberSchema),
1637
+ recentMealPlanIds: import_zod21.z.array(MealPlanIdSchema),
734
1638
  createdAt: ISODateTimeStringSchema,
735
- expiredAt: ISODateTimeStringSchema,
736
- updatedAt: ISODateTimeStringSchema,
737
- author: MemberCoreSchema,
738
- participants: import_zod16.z.array(RecruitParticipantSchema)
1639
+ updatedAt: ISODateTimeStringSchema
739
1640
  });
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)
1641
+ var CreateMealGroupRequestSchema = import_zod21.z.object({
1642
+ name: import_zod21.z.string().min(1).max(50),
1643
+ memberIds: import_zod21.z.array(import_zod21.z.number().int().positive()).min(1),
1644
+ profileImageUrl: import_zod21.z.string().url().nullable().optional(),
1645
+ sourceMealPlanId: MealPlanIdSchema.optional()
1646
+ });
1647
+ var StartMealPlanFromGroupRequestSchema = import_zod21.z.object({
1648
+ title: import_zod21.z.string().min(1).max(100).optional()
1649
+ });
1650
+ var AddMealGroupMemberRequestSchema = import_zod21.z.object({
1651
+ memberId: import_zod21.z.number().int().positive(),
1652
+ role: MealGroupMemberRoleSchema.default("MEMBER")
1653
+ });
1654
+ var UpdateMealGroupMemberRoleRequestSchema = import_zod21.z.object({
1655
+ role: MealGroupMemberRoleSchema
1656
+ });
1657
+ var MealGroupHistoryItemSchema = MyMealPlanListItemSchema.extend({});
1658
+ var MealGroupPreferenceSummarySchema = import_zod21.z.object({
1659
+ mealGroupId: MealGroupIdSchema,
1660
+ frequentMenuCategories: import_zod21.z.array(import_zod21.z.object({ label: import_zod21.z.string(), count: import_zod21.z.number().int().min(0) })),
1661
+ frequentRestaurants: import_zod21.z.array(import_zod21.z.object({ restaurantName: import_zod21.z.string(), count: import_zod21.z.number().int().min(0) })),
1662
+ recentMenuCategories: import_zod21.z.array(import_zod21.z.string()),
1663
+ recommendationContext: import_zod21.z.object({
1664
+ preferredMenuCategories: import_zod21.z.array(import_zod21.z.string()),
1665
+ excludedMenuCategories: import_zod21.z.array(import_zod21.z.string()),
1666
+ candidateMenuCategories: import_zod21.z.array(import_zod21.z.string())
1667
+ })
746
1668
  });
747
- var CreateRecruitResponseSchema = import_zod16.z.object({
748
- recruitId: RecruitIdSchema
1669
+ var MealGroupHistoryResponseSchema = import_zod21.z.array(MealGroupHistoryItemSchema);
1670
+
1671
+ // src/domain/meal-plan/meal-plan-home-map.schema.ts
1672
+ var import_zod22 = require("zod");
1673
+ var HomeMealPlanActionKindSchema = import_zod22.z.enum([
1674
+ "CONTINUE_DECISION",
1675
+ "TODAY_UPCOMING",
1676
+ "RECORD_NEEDED",
1677
+ "RESPOND_JOIN_REQUEST",
1678
+ "NOTIFICATION_FOLLOW_UP"
1679
+ ]);
1680
+ var HomeMealPlanActionCardSchema = import_zod22.z.object({
1681
+ actionId: import_zod22.z.string().min(1),
1682
+ kind: HomeMealPlanActionKindSchema,
1683
+ priority: import_zod22.z.number().int().min(0),
1684
+ title: import_zod22.z.string().min(1),
1685
+ description: import_zod22.z.string().min(1),
1686
+ primaryAction: import_zod22.z.object({
1687
+ label: import_zod22.z.string().min(1),
1688
+ href: import_zod22.z.string().min(1)
1689
+ }),
1690
+ mealPlan: MyMealPlanListItemSchema.nullable(),
1691
+ joinRequest: MealPlanJoinRequestSummarySchema.nullable(),
1692
+ notification: MealPlanNotificationSchema.nullable().default(null)
1693
+ });
1694
+ var HomeMealPlanDashboardResponseSchema = import_zod22.z.object({
1695
+ generatedAt: ISODateTimeStringSchema,
1696
+ inProgress: import_zod22.z.array(MyMealPlanListItemSchema),
1697
+ today: import_zod22.z.array(MyMealPlanListItemSchema),
1698
+ recordNeeded: import_zod22.z.array(MyMealPlanListItemSchema),
1699
+ pendingJoinRequests: import_zod22.z.array(MealPlanJoinRequestSummarySchema),
1700
+ unreadNotifications: import_zod22.z.array(MealPlanNotificationSchema).default([]),
1701
+ nextActions: import_zod22.z.array(HomeMealPlanActionCardSchema)
1702
+ });
1703
+ var MealMapLayerSchema = import_zod22.z.enum([
1704
+ "MY_MEAL_PLAN_PLACE",
1705
+ "NEARBY_FRIEND_MEAL_PLAN",
1706
+ "FRIEND_RECORD_LOCATION",
1707
+ "RESTAURANT_CANDIDATE"
1708
+ ]);
1709
+ var MealMapMarkerBaseSchema = import_zod22.z.object({
1710
+ markerId: import_zod22.z.string().min(1),
1711
+ lat: import_zod22.z.number().min(-90).max(90),
1712
+ lng: import_zod22.z.number().min(-180).max(180),
1713
+ title: import_zod22.z.string().min(1),
1714
+ subtitle: import_zod22.z.string().nullable(),
1715
+ href: import_zod22.z.string().min(1).nullable(),
1716
+ mealPlanId: MealPlanIdSchema.nullable(),
1717
+ articleId: ArticleIdSchema.nullable(),
1718
+ restaurant: RestaurantSchema.nullable(),
1719
+ distanceMeters: import_zod22.z.number().int().min(0).nullable(),
1720
+ updatedAt: ISODateTimeStringSchema
1721
+ });
1722
+ var MealMapMyMealPlanPlaceMetadataSchema = import_zod22.z.object({
1723
+ ownerId: MemberIdSchema.nullable().default(null),
1724
+ status: import_zod22.z.string().min(1),
1725
+ participantCount: import_zod22.z.number().int().min(1),
1726
+ source: import_zod22.z.string().min(1)
1727
+ });
1728
+ var MealMapNearbyFriendMealPlanMetadataSchema = import_zod22.z.object({
1729
+ ownerId: MemberIdSchema.nullable().default(null),
1730
+ ownerName: import_zod22.z.string().min(1),
1731
+ participantCount: import_zod22.z.number().int().min(1),
1732
+ expiresAt: ISODateTimeStringSchema.nullable(),
1733
+ source: import_zod22.z.string().min(1)
1734
+ });
1735
+ var MealMapFriendRecordLocationMetadataSchema = import_zod22.z.object({
1736
+ authorId: MemberIdSchema.nullable().default(null),
1737
+ authorName: import_zod22.z.string().min(1),
1738
+ imageUrl: import_zod22.z.string().nullable().default(null),
1739
+ mealDate: import_zod22.z.string().min(1)
1740
+ });
1741
+ var MealMapRestaurantCandidateCompletionBlockedReasonSchema = import_zod22.z.enum([
1742
+ "OWNER_ONLY",
1743
+ "STAGE_ALREADY_COMPLETED",
1744
+ "MEAL_PLAN_NOT_MUTABLE"
1745
+ ]);
1746
+ var MealMapRestaurantCandidateMetadataSchema = import_zod22.z.object({
1747
+ stageId: MealPlanDecisionStageIdSchema,
1748
+ ownerId: MemberIdSchema.nullable().default(null),
1749
+ status: import_zod22.z.string().min(1),
1750
+ source: import_zod22.z.enum(["search", "fallback", "manual"]).default("search"),
1751
+ stageStatus: import_zod22.z.enum(["OPEN", "COMPLETED", "REOPENED"]).default("OPEN"),
1752
+ canVote: import_zod22.z.boolean().default(false),
1753
+ canCompleteStage: import_zod22.z.boolean().default(false),
1754
+ completionBlockedReason: MealMapRestaurantCandidateCompletionBlockedReasonSchema.nullable().default(null)
1755
+ });
1756
+ var MealMapMarkerSchema = import_zod22.z.discriminatedUnion("layer", [
1757
+ MealMapMarkerBaseSchema.extend({
1758
+ layer: import_zod22.z.literal("MY_MEAL_PLAN_PLACE"),
1759
+ metadata: MealMapMyMealPlanPlaceMetadataSchema
1760
+ }),
1761
+ MealMapMarkerBaseSchema.extend({
1762
+ layer: import_zod22.z.literal("NEARBY_FRIEND_MEAL_PLAN"),
1763
+ metadata: MealMapNearbyFriendMealPlanMetadataSchema
1764
+ }),
1765
+ MealMapMarkerBaseSchema.extend({
1766
+ layer: import_zod22.z.literal("FRIEND_RECORD_LOCATION"),
1767
+ metadata: MealMapFriendRecordLocationMetadataSchema
1768
+ }),
1769
+ MealMapMarkerBaseSchema.extend({
1770
+ layer: import_zod22.z.literal("RESTAURANT_CANDIDATE"),
1771
+ metadata: MealMapRestaurantCandidateMetadataSchema
1772
+ })
1773
+ ]);
1774
+ var MealMapQuerySchema = import_zod22.z.object({
1775
+ friendRecordDays: import_zod22.z.coerce.number().int().min(1).max(90).optional().default(7)
1776
+ });
1777
+ var MealMapResponseSchema = import_zod22.z.object({
1778
+ generatedAt: ISODateTimeStringSchema,
1779
+ center: import_zod22.z.object({
1780
+ lat: import_zod22.z.number().min(-90).max(90),
1781
+ lng: import_zod22.z.number().min(-180).max(180),
1782
+ source: import_zod22.z.enum(["LAST_KNOWN_LOCATION", "MY_MEAL_PLAN", "DEFAULT"])
1783
+ }),
1784
+ layers: import_zod22.z.object({
1785
+ myMealPlanPlaces: import_zod22.z.array(MealMapMarkerSchema),
1786
+ nearbyFriendMealPlans: import_zod22.z.array(MealMapMarkerSchema),
1787
+ friendRecordLocations: import_zod22.z.array(MealMapMarkerSchema),
1788
+ restaurantCandidates: import_zod22.z.array(MealMapMarkerSchema)
1789
+ })
749
1790
  });
750
1791
 
1792
+ // src/domain/meal-plan/meal-plan-notification-priority.ts
1793
+ var DEFAULT_POLICY = MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES.MEAL_PLAN_PARTICIPANT_JOINED;
1794
+ function getMealPlanNotificationPriorityPolicy(kind) {
1795
+ return MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES[kind] ?? DEFAULT_POLICY;
1796
+ }
1797
+ function getMealPlanNotificationPriority(kind, channel = "HOME") {
1798
+ const policy = getMealPlanNotificationPriorityPolicy(kind);
1799
+ switch (channel) {
1800
+ case "HOME":
1801
+ return policy.homePriority;
1802
+ case "NOTIFICATION_INBOX":
1803
+ return policy.inboxPriority;
1804
+ case "FCM_PUSH":
1805
+ return policy.fcmPriority;
1806
+ case "LIVE_ACTIVITY":
1807
+ return policy.liveActivityPriority;
1808
+ default:
1809
+ return policy.priority;
1810
+ }
1811
+ }
1812
+ function getMealPlanLiveActivityBehavior(kind) {
1813
+ return getMealPlanNotificationPriorityPolicy(kind).liveActivityBehavior;
1814
+ }
1815
+ function shouldShowForegroundToast(kind) {
1816
+ return getMealPlanNotificationPriorityPolicy(kind).foregroundToast;
1817
+ }
1818
+ function compareMealPlanNotificationsByPriority(channel) {
1819
+ return (a, b) => {
1820
+ const unreadDelta = Number(Boolean(a.readAt)) - Number(Boolean(b.readAt));
1821
+ if (unreadDelta !== 0) return unreadDelta;
1822
+ const priorityDelta = getMealPlanNotificationPriority(a.kind, channel) - getMealPlanNotificationPriority(b.kind, channel);
1823
+ if (priorityDelta !== 0) return priorityDelta;
1824
+ return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
1825
+ };
1826
+ }
1827
+
751
1828
  // src/domain/promotion/referral.schema.ts
752
- var import_zod17 = require("zod");
753
- var ReferralCreateResponseSchema = import_zod17.z.object({
1829
+ var import_zod23 = require("zod");
1830
+ var ReferralCreateResponseSchema = import_zod23.z.object({
754
1831
  code: ReferralCodeSchema,
755
- link: import_zod17.z.string().url(),
1832
+ link: import_zod23.z.string().url(),
756
1833
  expiresAt: ISODateTimeStringSchema
757
1834
  });
758
- var ReferralItemResponseSchema = import_zod17.z.object({
1835
+ var ReferralItemResponseSchema = import_zod23.z.object({
759
1836
  code: ReferralCodeSchema,
760
1837
  createdAt: ISODateTimeStringSchema,
761
1838
  expiresAt: ISODateTimeStringSchema,
762
- used: import_zod17.z.boolean(),
1839
+ used: import_zod23.z.boolean(),
763
1840
  usedByMemberId: MemberIdSchema.nullable(),
764
- usedByUsername: import_zod17.z.string().nullable()
1841
+ usedByUsername: import_zod23.z.string().nullable()
765
1842
  });
766
- var RedeemReferralRequestSchema = import_zod17.z.object({
1843
+ var RedeemReferralRequestSchema = import_zod23.z.object({
767
1844
  code: ReferralCodeSchema
768
1845
  });
769
1846
 
770
1847
  // 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({
1848
+ var import_zod24 = require("zod");
1849
+ var CouponTypeSchema = import_zod24.z.enum(["DISCOUNT", "SERVICE"]);
1850
+ var CouponStatusSchema = import_zod24.z.enum(["UNUSED", "USED"]);
1851
+ var CouponResponseSchema = import_zod24.z.object({
775
1852
  couponId: CouponIdSchema,
776
- title: import_zod18.z.string(),
777
- shopName: import_zod18.z.string(),
1853
+ title: import_zod24.z.string(),
1854
+ shopName: import_zod24.z.string(),
778
1855
  type: CouponTypeSchema,
779
- condition: import_zod18.z.string(),
1856
+ condition: import_zod24.z.string(),
780
1857
  expiresAt: ISODateStringSchema,
781
- used: import_zod18.z.boolean(),
782
- thumbnailUrl: import_zod18.z.string().url()
1858
+ used: import_zod24.z.boolean(),
1859
+ thumbnailUrl: import_zod24.z.string().url()
1860
+ });
1861
+
1862
+ // src/domain/promotion/challenge.schema.ts
1863
+ var import_zod25 = require("zod");
1864
+ var RewardTypeSchema = import_zod25.z.enum(["WEEK", "MONTH"]);
1865
+ var WeekProgressSchema = import_zod25.z.object({
1866
+ days: import_zod25.z.array(import_zod25.z.boolean()),
1867
+ completed: import_zod25.z.number().int().min(0),
1868
+ goal: import_zod25.z.number().int().positive()
1869
+ });
1870
+ var MonthProgressSchema = import_zod25.z.object({
1871
+ count: import_zod25.z.number().int().min(0),
1872
+ goal: import_zod25.z.number().int().positive()
1873
+ });
1874
+ var ChallengeStatusResponseSchema = import_zod25.z.object({
1875
+ week: WeekProgressSchema,
1876
+ month: MonthProgressSchema,
1877
+ weekRewardAvailable: import_zod25.z.boolean(),
1878
+ monthRewardAvailable: import_zod25.z.boolean()
1879
+ });
1880
+ var ClaimChallengeRewardRequestSchema = import_zod25.z.object({
1881
+ type: RewardTypeSchema
1882
+ });
1883
+ var ClaimChallengeRewardResponseSchema = import_zod25.z.object({
1884
+ rewardType: RewardTypeSchema,
1885
+ claimed: import_zod25.z.boolean()
1886
+ });
1887
+
1888
+ // src/domain/push/push.schema.ts
1889
+ var import_zod26 = require("zod");
1890
+ var PushProviderSchema = import_zod26.z.enum(["FCM", "APNS_LIVE_ACTIVITY"]);
1891
+ var PushPlatformSchema = import_zod26.z.enum(["WEB", "ANDROID", "IOS"]);
1892
+ var PushPermissionStatusSchema = import_zod26.z.enum([
1893
+ "UNKNOWN",
1894
+ "PROMPT",
1895
+ "GRANTED",
1896
+ "DENIED"
1897
+ ]);
1898
+ var PushTokenStatusSchema = import_zod26.z.enum(["ACTIVE", "REVOKED", "DISABLED"]);
1899
+ var RegisterPushTokenRequestSchema = import_zod26.z.object({
1900
+ provider: PushProviderSchema.default("FCM"),
1901
+ platform: PushPlatformSchema,
1902
+ token: import_zod26.z.string().min(10),
1903
+ deviceId: import_zod26.z.string().min(1).max(128),
1904
+ appVersion: import_zod26.z.string().min(1).max(64).optional(),
1905
+ buildNumber: import_zod26.z.string().min(1).max(64).optional(),
1906
+ permissionStatus: PushPermissionStatusSchema
1907
+ });
1908
+ var RevokePushTokenRequestSchema = import_zod26.z.object({
1909
+ provider: PushProviderSchema.default("FCM"),
1910
+ token: import_zod26.z.string().min(10).optional(),
1911
+ deviceId: import_zod26.z.string().min(1).max(128).optional()
1912
+ });
1913
+ var PushTokenResponseSchema = import_zod26.z.object({
1914
+ pushTokenId: import_zod26.z.string().uuid(),
1915
+ provider: PushProviderSchema,
1916
+ platform: PushPlatformSchema,
1917
+ deviceId: import_zod26.z.string(),
1918
+ status: PushTokenStatusSchema,
1919
+ permissionStatus: PushPermissionStatusSchema,
1920
+ appVersion: import_zod26.z.string().nullable(),
1921
+ buildNumber: import_zod26.z.string().nullable(),
1922
+ lastSeenAt: ISODateTimeStringSchema,
1923
+ revokedAt: ISODateTimeStringSchema.nullable()
1924
+ });
1925
+ var PushPayloadSchemaVersionSchema = import_zod26.z.literal("2026-06-17");
1926
+ var MealPlanPushPayloadDataSchema = import_zod26.z.object({
1927
+ schemaVersion: PushPayloadSchemaVersionSchema,
1928
+ notificationId: import_zod26.z.string().min(1),
1929
+ kind: MealPlanNotificationKindSchema,
1930
+ mealPlanId: MealPlanIdSchema,
1931
+ deepLink: import_zod26.z.string().min(1),
1932
+ title: import_zod26.z.string().min(1),
1933
+ body: import_zod26.z.string().min(1),
1934
+ fcmPriority: import_zod26.z.coerce.number().int().min(0),
1935
+ liveActivityPriority: import_zod26.z.coerce.number().int().min(0),
1936
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema
1937
+ });
1938
+ var PushDeliveryStatusSchema = import_zod26.z.enum([
1939
+ "PENDING",
1940
+ "SENT",
1941
+ "FAILED",
1942
+ "SKIPPED"
1943
+ ]);
1944
+ var PushDeliveryAttemptResultSchema = import_zod26.z.enum([
1945
+ "SENT",
1946
+ "FAILED",
1947
+ "SKIPPED"
1948
+ ]);
1949
+ var PushDeliveryAttemptSummarySchema = import_zod26.z.object({
1950
+ attemptId: import_zod26.z.string().uuid(),
1951
+ outboxId: import_zod26.z.string().uuid(),
1952
+ pushTokenId: import_zod26.z.string().uuid().nullable(),
1953
+ provider: PushProviderSchema,
1954
+ result: PushDeliveryAttemptResultSchema,
1955
+ providerMessageId: import_zod26.z.string().nullable(),
1956
+ errorCode: import_zod26.z.string().nullable(),
1957
+ errorMessage: import_zod26.z.string().nullable(),
1958
+ invalidToken: import_zod26.z.boolean(),
1959
+ createdAt: ISODateTimeStringSchema
1960
+ });
1961
+ var PushDeliveryOutboxSummarySchema = import_zod26.z.object({
1962
+ outboxId: import_zod26.z.string().uuid(),
1963
+ notificationId: import_zod26.z.string().min(1),
1964
+ memberId: import_zod26.z.number().int().positive(),
1965
+ status: PushDeliveryStatusSchema,
1966
+ attemptCount: import_zod26.z.number().int().min(0),
1967
+ lastError: import_zod26.z.string().nullable(),
1968
+ nextAttemptAt: ISODateTimeStringSchema.nullable(),
1969
+ sentAt: ISODateTimeStringSchema.nullable(),
1970
+ createdAt: ISODateTimeStringSchema
1971
+ });
1972
+
1973
+ // src/domain/live-activity/live-activity.schema.ts
1974
+ var import_zod27 = require("zod");
1975
+ var MealPlanLiveActivityPlatformSchema = import_zod27.z.enum([
1976
+ "IOS_LIVE_ACTIVITY",
1977
+ "ANDROID_LIVE_UPDATE"
1978
+ ]);
1979
+ var MealPlanLiveActivitySessionStatusSchema = import_zod27.z.enum([
1980
+ "ACTIVE",
1981
+ "ENDED",
1982
+ "EXPIRED",
1983
+ "DISABLED"
1984
+ ]);
1985
+ var MealPlanLiveActivityUpdateStatusSchema = import_zod27.z.enum([
1986
+ "PENDING",
1987
+ "SENT",
1988
+ "FAILED",
1989
+ "SKIPPED"
1990
+ ]);
1991
+ var RegisterMealPlanLiveActivitySessionRequestSchema = import_zod27.z.object({
1992
+ platform: MealPlanLiveActivityPlatformSchema,
1993
+ deviceId: import_zod27.z.string().min(1).max(128),
1994
+ activityId: import_zod27.z.string().min(1).max(128),
1995
+ pushToken: import_zod27.z.string().min(10).optional(),
1996
+ appVersion: import_zod27.z.string().min(1).max(64).optional(),
1997
+ buildNumber: import_zod27.z.string().min(1).max(64).optional()
1998
+ });
1999
+ var EndMealPlanLiveActivitySessionRequestSchema = import_zod27.z.object({
2000
+ platform: MealPlanLiveActivityPlatformSchema.optional(),
2001
+ deviceId: import_zod27.z.string().min(1).max(128).optional(),
2002
+ activityId: import_zod27.z.string().min(1).max(128).optional()
2003
+ });
2004
+ var MealPlanLiveActivityStateSchema = import_zod27.z.object({
2005
+ mealPlanId: MealPlanIdSchema,
2006
+ title: import_zod27.z.string().min(1),
2007
+ status: import_zod27.z.string().min(1),
2008
+ scheduledAt: ISODateTimeStringSchema.nullable(),
2009
+ restaurantName: import_zod27.z.string().nullable(),
2010
+ placeName: import_zod27.z.string().nullable(),
2011
+ deepLink: import_zod27.z.string().min(1),
2012
+ progressLabel: import_zod27.z.string().min(1),
2013
+ updatedAt: ISODateTimeStringSchema
2014
+ });
2015
+ var MealPlanLiveActivitySessionResponseSchema = import_zod27.z.object({
2016
+ sessionId: import_zod27.z.string().uuid(),
2017
+ mealPlanId: MealPlanIdSchema,
2018
+ memberId: import_zod27.z.number().int().positive(),
2019
+ platform: MealPlanLiveActivityPlatformSchema,
2020
+ devicePlatform: PushPlatformSchema,
2021
+ deviceId: import_zod27.z.string(),
2022
+ activityId: import_zod27.z.string(),
2023
+ status: MealPlanLiveActivitySessionStatusSchema,
2024
+ appVersion: import_zod27.z.string().nullable(),
2025
+ buildNumber: import_zod27.z.string().nullable(),
2026
+ lastEventKind: MealPlanNotificationKindSchema.nullable(),
2027
+ lastBehavior: MealPlanLiveActivityBehaviorSchema.nullable(),
2028
+ lastUpdateStatus: MealPlanLiveActivityUpdateStatusSchema.nullable(),
2029
+ lastError: import_zod27.z.string().nullable(),
2030
+ startedAt: ISODateTimeStringSchema,
2031
+ endedAt: ISODateTimeStringSchema.nullable(),
2032
+ updatedAt: ISODateTimeStringSchema
2033
+ });
2034
+ var MealPlanLiveActivitySessionListResponseSchema = import_zod27.z.object({
2035
+ mealPlanId: MealPlanIdSchema,
2036
+ state: MealPlanLiveActivityStateSchema,
2037
+ sessions: import_zod27.z.array(MealPlanLiveActivitySessionResponseSchema)
783
2038
  });
784
2039
 
785
2040
  // 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();
2041
+ var import_zod28 = require("zod");
2042
+ var NoBodySchema = import_zod28.z.undefined();
2043
+ var NoQuerySchema = import_zod28.z.undefined();
2044
+ var NoParamsSchema = import_zod28.z.undefined();
790
2045
  var endpoint = (contract) => ({
791
2046
  method: contract.method,
792
2047
  path: contract.path,
@@ -797,23 +2052,40 @@ var endpoint = (contract) => ({
797
2052
  });
798
2053
 
799
2054
  // 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 });
2055
+ var memberIdParam = import_zod29.z.object({ memberId: MemberIdSchema });
2056
+ var articleIdParam = import_zod29.z.object({ articleId: ArticleIdSchema });
2057
+ var commentIdParam = import_zod29.z.object({ commentId: CommentIdSchema });
2058
+ var mealPlanIdParam = import_zod29.z.object({ mealPlanId: MealPlanIdSchema });
2059
+ var mealPlanInviteIdParam = import_zod29.z.object({ inviteId: MealPlanInviteIdSchema });
2060
+ var mealPlanJoinRequestIdParam = import_zod29.z.object({ requestId: MealPlanJoinRequestIdSchema });
2061
+ var mealPlanDecisionStageIdParam = mealPlanIdParam.extend({
2062
+ stageId: MealPlanDecisionStageIdSchema
2063
+ });
2064
+ var mealPlanChangeRequestIdParam = mealPlanIdParam.extend({
2065
+ requestId: MealPlanChangeRequestIdSchema
2066
+ });
2067
+ var mealPlanDecisionTaskKeyParam = mealPlanIdParam.extend({
2068
+ taskKey: MealPlanDecisionTaskKeySchema
2069
+ });
2070
+ var mealPlanDecisionSnapshotIdParam = mealPlanIdParam.extend({
2071
+ snapshotId: import_zod29.z.string().uuid()
2072
+ });
2073
+ var mealPlanParticipantIdParam = mealPlanIdParam.extend({
2074
+ participantId: import_zod29.z.string().uuid()
2075
+ });
2076
+ var mealPlanShareTokenParam = import_zod29.z.object({ token: MealPlanShareLinkTokenSchema });
2077
+ var notificationIdParam = import_zod29.z.object({ notificationId: import_zod29.z.string().min(1) });
2078
+ var couponIdParam = import_zod29.z.object({ couponId: CouponIdSchema });
2079
+ var mealGroupIdParam = import_zod29.z.object({ mealGroupId: MealGroupIdSchema });
2080
+ var mealGroupMemberIdParam = mealGroupIdParam.extend({ memberId: MemberIdSchema });
2081
+ var friendRequestIdParam = import_zod29.z.object({ requestId: FriendRequestIdSchema });
2082
+ var sseTokenQuery = import_zod29.z.object({ token: import_zod29.z.string().min(1) });
810
2083
  var apiContract = {
811
2084
  auth: {
812
2085
  signup: endpoint({ method: "POST", path: "/auth/signup", body: SignupRequestSchema, response: SignupResponseSchema }),
813
2086
  login: endpoint({ method: "POST", path: "/auth/login", body: LoginRequestSchema, response: TokenResponseSchema }),
814
2087
  refresh: endpoint({ method: "POST", path: "/auth/refresh", response: TokenResponseSchema }),
815
2088
  logout: endpoint({ method: "POST", path: "/auth/logout", response: NoContentSchema })
816
- // test: endpoint({method: "GET", path: "/auth/test", response: TokenResponseSchema}) TODO: Dev에서만 작동하도록 백엔드에서 수정해야함
817
2089
  },
818
2090
  members: {
819
2091
  me: endpoint({ method: "GET", path: "/members/me", response: MemberResponseSchema }),
@@ -822,7 +2094,11 @@ var apiContract = {
822
2094
  memberProfile: endpoint({ method: "GET", path: "/members/:memberId/profile", pathParams: memberIdParam, response: ProfileDetailResponseSchema }),
823
2095
  presignProfileImage: endpoint({ method: "POST", path: "/uploads/presign-profile", body: UploadProfileImageRequestSchema, response: UploadProfileImageResponseSchema }),
824
2096
  createProfile: endpoint({ method: "POST", path: "/members/onboarding", body: CreateProfileRequestSchema, response: NoContentSchema }),
825
- updateProfile: endpoint({ method: "PATCH", path: "/members/me/profile", body: UpdateProfileRequestSchema, response: NoContentSchema })
2097
+ createProfileAlias: endpoint({ method: "POST", path: "/onboarding", body: CreateProfileRequestSchema, response: NoContentSchema }),
2098
+ updateProfile: endpoint({ method: "PATCH", path: "/members/me/profile", body: UpdateProfileRequestSchema, response: NoContentSchema }),
2099
+ locationSettings: endpoint({ method: "GET", path: "/members/me/location-settings", response: MemberLocationSettingsResponseSchema }),
2100
+ updateLocationConsent: endpoint({ method: "PATCH", path: "/members/me/location-consent", body: UpdateMemberLocationConsentRequestSchema, response: MemberLocationSettingsResponseSchema }),
2101
+ updateLocation: endpoint({ method: "PATCH", path: "/members/me/location", body: UpdateMemberLocationRequestSchema, response: MemberLocationSettingsResponseSchema })
826
2102
  },
827
2103
  preferences: {
828
2104
  my: endpoint({ method: "GET", path: "/preferences/me", response: MemberFoodPreferenceSchema }),
@@ -831,7 +2107,7 @@ var apiContract = {
831
2107
  mealStatus: {
832
2108
  my: endpoint({ method: "GET", path: "/members/me/meal-status", response: MealStatusResponseSchema }),
833
2109
  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) })
2110
+ friendMealStatus: endpoint({ method: "GET", path: "/friends/me/meals", query: FriendMealQuerySchema, response: import_zod29.z.array(FriendMealItemResponseSchema) })
835
2111
  },
836
2112
  articles: {
837
2113
  list: endpoint({ method: "GET", path: "/articles/home", query: ArticleListQuerySchema, response: PageArticleSummaryResponseSchema }),
@@ -844,32 +2120,64 @@ var apiContract = {
844
2120
  presignArticleImage: endpoint({ method: "POST", path: "/uploads/presign-article", body: UploadArticleImageRequestSchema, response: UploadArticleImageResponseSchema }),
845
2121
  delete: endpoint({ method: "DELETE", path: "/articles/:articleId", pathParams: articleIdParam, response: NoContentSchema }),
846
2122
  deleteComment: endpoint({ method: "DELETE", path: "/articles/comments/:commentId", pathParams: commentIdParam, response: NoContentSchema })
847
- // TODO: 게시물 수정 기능
848
- },
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 })
854
2123
  },
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 })
2124
+ mealPlans: {
2125
+ create: endpoint({ method: "POST", path: "/meal-plans", body: CreateMealPlanRequestSchema, response: CreateMealPlanResponseSchema }),
2126
+ my: endpoint({ method: "GET", path: "/meal-plans/me", response: MyMealPlanListResponseSchema }),
2127
+ homeDashboard: endpoint({ method: "GET", path: "/meal-plans/home-dashboard", response: HomeMealPlanDashboardResponseSchema }),
2128
+ map: endpoint({ method: "GET", path: "/meal-plans/map", query: MealMapQuerySchema, response: MealMapResponseSchema }),
2129
+ detail: endpoint({ method: "GET", path: "/meal-plans/:mealPlanId", pathParams: mealPlanIdParam, response: MealPlanResponseSchema }),
2130
+ chatMessages: endpoint({ method: "GET", path: "/meal-plans/:mealPlanId/chat/messages", pathParams: mealPlanIdParam, response: MealPlanChatMessageListResponseSchema }),
2131
+ updateContext: endpoint({ method: "PATCH", path: "/meal-plans/:mealPlanId/context", pathParams: mealPlanIdParam, body: UpdateMealPlanContextRequestSchema, response: MealPlanResponseSchema }),
2132
+ complete: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/complete", pathParams: mealPlanIdParam, response: MealPlanResponseSchema }),
2133
+ cancel: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/cancel", pathParams: mealPlanIdParam, response: MealPlanResponseSchema }),
2134
+ removeParticipant: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/participants/:participantId/remove", pathParams: mealPlanParticipantIdParam, response: MealPlanResponseSchema }),
2135
+ recorded: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/recorded", pathParams: mealPlanIdParam, response: MealPlanResponseSchema }),
2136
+ invite: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/invites", pathParams: mealPlanIdParam, body: CreateMealPlanInviteRequestSchema, response: SendMealPlanInviteResponseSchema }),
2137
+ receivedInvites: endpoint({ method: "GET", path: "/meal-plans/invites/received", response: MealPlanInviteListResponseSchema }),
2138
+ sentInvites: endpoint({ method: "GET", path: "/meal-plans/invites/sent", response: MealPlanInviteListResponseSchema }),
2139
+ acceptInvite: endpoint({ method: "POST", path: "/meal-plans/invites/:inviteId/accept", pathParams: mealPlanInviteIdParam, response: MealPlanResponseSchema }),
2140
+ declineInvite: endpoint({ method: "POST", path: "/meal-plans/invites/:inviteId/decline", pathParams: mealPlanInviteIdParam, response: NoContentSchema }),
2141
+ createShareLink: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/share-links", pathParams: mealPlanIdParam, body: CreateMealPlanShareLinkRequestSchema, response: MealPlanShareLinkSummarySchema }),
2142
+ sharePreview: endpoint({ method: "GET", path: "/meal-plan-links/:token", pathParams: mealPlanShareTokenParam, response: MealPlanSharePreviewResponseSchema }),
2143
+ joinGuest: endpoint({ method: "POST", path: "/meal-plan-links/:token/join", pathParams: mealPlanShareTokenParam, body: JoinMealPlanGuestRequestSchema, response: JoinMealPlanGuestResponseSchema }),
2144
+ guestSession: endpoint({ method: "GET", path: "/meal-plan-links/:token/session", pathParams: mealPlanShareTokenParam, query: MealPlanGuestSessionQuerySchema, response: MealPlanGuestSessionResponseSchema }),
2145
+ guestChatMessages: endpoint({ method: "GET", path: "/meal-plan-links/:token/chat/messages", pathParams: mealPlanShareTokenParam, query: MealPlanGuestSessionQuerySchema, response: MealPlanChatMessageListResponseSchema }),
2146
+ exposeNearbyFriends: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/nearby-friends/expose", pathParams: mealPlanIdParam, body: ExposeMealPlanToNearbyFriendsRequestSchema, response: ExposeMealPlanToNearbyFriendsResponseSchema }),
2147
+ closeNearbyFriends: endpoint({ method: "DELETE", path: "/meal-plans/:mealPlanId/nearby-friends/expose", pathParams: mealPlanIdParam, response: NoContentSchema }),
2148
+ nearbyFriendExposureEligibility: endpoint({ method: "GET", path: "/meal-plans/nearby-friends/eligibility", response: NearbyFriendExposureEligibilitySchema }),
2149
+ nearbyFriends: endpoint({ method: "GET", path: "/meal-plans/nearby-friends", response: import_zod29.z.array(NearbyFriendMealPlanSummarySchema) }),
2150
+ requestJoin: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/join-requests", pathParams: mealPlanIdParam, body: CreateMealPlanJoinRequestSchema, response: CreatedEntityIdResponseSchema }),
2151
+ acceptJoinRequest: endpoint({ method: "POST", path: "/meal-plans/join-requests/:requestId/accept", pathParams: mealPlanJoinRequestIdParam, response: MealPlanResponseSchema }),
2152
+ rejectJoinRequest: endpoint({ method: "POST", path: "/meal-plans/join-requests/:requestId/reject", pathParams: mealPlanJoinRequestIdParam, response: NoContentSchema }),
2153
+ vote: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/stages/:stageId/votes", pathParams: mealPlanDecisionStageIdParam, body: CreateMealPlanVoteRequestSchema, response: MealPlanResponseSchema }),
2154
+ completeStage: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/stages/:stageId/complete", pathParams: mealPlanDecisionStageIdParam, body: CompleteMealPlanDecisionStageRequestSchema, response: MealPlanResponseSchema }),
2155
+ decisionProgress: endpoint({ method: "GET", path: "/meal-plans/:mealPlanId/decision-progress", pathParams: mealPlanIdParam, response: MealPlanDecisionProgressSchema }),
2156
+ reopenDecisionTask: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/decision-tasks/:taskKey/reopen", pathParams: mealPlanDecisionTaskKeyParam, body: ReopenMealPlanDecisionTaskRequestSchema, response: MealPlanResponseSchema }),
2157
+ confirmDecisionSnapshot: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/decision-snapshots/:snapshotId/confirm", pathParams: mealPlanDecisionSnapshotIdParam, body: ConfirmMealPlanDecisionSnapshotRequestSchema, response: MealPlanResponseSchema }),
2158
+ ready: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/ready", pathParams: mealPlanIdParam, response: MealPlanResponseSchema }),
2159
+ unready: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/unready", pathParams: mealPlanIdParam, response: MealPlanResponseSchema }),
2160
+ createChangeRequest: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/change-requests", pathParams: mealPlanIdParam, body: CreateMealPlanChangeRequestSchema, response: CreatedEntityIdResponseSchema }),
2161
+ acceptChangeRequest: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/change-requests/:requestId/accept", pathParams: mealPlanChangeRequestIdParam, response: MealPlanResponseSchema }),
2162
+ confirm: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/confirm", pathParams: mealPlanIdParam, response: MealPlanResponseSchema })
861
2163
  },
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 })
2164
+ mealGroups: {
2165
+ create: endpoint({ method: "POST", path: "/meal-groups", body: CreateMealGroupRequestSchema, response: MealGroupResponseSchema }),
2166
+ list: endpoint({ method: "GET", path: "/meal-groups", response: import_zod29.z.array(MealGroupResponseSchema) }),
2167
+ detail: endpoint({ method: "GET", path: "/meal-groups/:mealGroupId", pathParams: mealGroupIdParam, response: MealGroupResponseSchema }),
2168
+ startMealPlan: endpoint({ method: "POST", path: "/meal-groups/:mealGroupId/meal-plans", pathParams: mealGroupIdParam, body: StartMealPlanFromGroupRequestSchema, response: CreateMealPlanResponseSchema }),
2169
+ history: endpoint({ method: "GET", path: "/meal-groups/:mealGroupId/history", pathParams: mealGroupIdParam, response: MealGroupHistoryResponseSchema }),
2170
+ preferences: endpoint({ method: "GET", path: "/meal-groups/:mealGroupId/preferences", pathParams: mealGroupIdParam, response: MealGroupPreferenceSummarySchema }),
2171
+ addMember: endpoint({ method: "POST", path: "/meal-groups/:mealGroupId/members", pathParams: mealGroupIdParam, body: AddMealGroupMemberRequestSchema, response: MealGroupResponseSchema }),
2172
+ updateMemberRole: endpoint({ method: "PATCH", path: "/meal-groups/:mealGroupId/members/:memberId/role", pathParams: mealGroupMemberIdParam, body: UpdateMealGroupMemberRoleRequestSchema, response: MealGroupResponseSchema }),
2173
+ removeMember: endpoint({ method: "DELETE", path: "/meal-groups/:mealGroupId/members/:memberId", pathParams: mealGroupMemberIdParam, response: MealGroupResponseSchema })
866
2174
  },
867
2175
  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) }),
2176
+ list: endpoint({ method: "GET", path: "/friends", response: import_zod29.z.array(FriendListItemResponseSchema) }),
2177
+ blockList: endpoint({ method: "GET", path: "/friends/blocks", response: import_zod29.z.array(FriendBlockItemResponseSchema) }),
870
2178
  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) }),
2179
+ incomingRequest: endpoint({ method: "GET", path: "/friends/requests/incoming", response: import_zod29.z.array(FriendRequestItemResponseSchema) }),
2180
+ outgoingRequest: endpoint({ method: "GET", path: "/friends/requests/outgoing", response: import_zod29.z.array(FriendRequestItemResponseSchema) }),
873
2181
  sendRequest: endpoint({ method: "POST", path: "/friends/requests/:memberId", pathParams: memberIdParam, response: NoContentSchema }),
874
2182
  acceptRequest: endpoint({ method: "POST", path: "/friends/requests/:requestId/accept", pathParams: friendRequestIdParam, response: NoContentSchema }),
875
2183
  rejectRequest: endpoint({ method: "POST", path: "/friends/requests/:requestId/reject", pathParams: friendRequestIdParam, response: NoContentSchema }),
@@ -879,7 +2187,7 @@ var apiContract = {
879
2187
  unfriend: endpoint({ method: "DELETE", path: "/friends/:memberId", pathParams: memberIdParam, response: NoContentSchema })
880
2188
  },
881
2189
  coupons: {
882
- list: endpoint({ method: "GET", path: "/coupons", response: import_zod20.z.array(CouponResponseSchema) }),
2190
+ list: endpoint({ method: "GET", path: "/coupons", response: import_zod29.z.array(CouponResponseSchema) }),
883
2191
  use: endpoint({ method: "POST", path: "/coupons/:couponId/use", pathParams: couponIdParam, response: NoContentSchema })
884
2192
  },
885
2193
  challenges: {
@@ -887,23 +2195,36 @@ var apiContract = {
887
2195
  claimReward: endpoint({ method: "POST", path: "/challenges/rewards", body: ClaimChallengeRewardRequestSchema, response: NoContentSchema })
888
2196
  },
889
2197
  referrals: {
890
- list: endpoint({ method: "GET", path: "/referrals", response: import_zod20.z.array(ReferralItemResponseSchema) }),
2198
+ list: endpoint({ method: "GET", path: "/referrals", response: import_zod29.z.array(ReferralItemResponseSchema) }),
891
2199
  create: endpoint({ method: "POST", path: "/referrals", response: ReferralCreateResponseSchema }),
892
2200
  redeem: endpoint({ method: "POST", path: "/referrals/redeem", body: RedeemReferralRequestSchema, response: NoContentSchema })
893
2201
  },
894
2202
  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 }),
2203
+ list: endpoint({ method: "GET", path: "/notifications", response: import_zod29.z.array(MealPlanNotificationSchema) }),
2204
+ markRead: endpoint({ method: "PATCH", path: "/notifications/:notificationId/read", pathParams: notificationIdParam, response: MealPlanNotificationSchema }),
897
2205
  delete: endpoint({ method: "DELETE", path: "/notifications/:notificationId", pathParams: notificationIdParam, response: NoContentSchema })
898
2206
  },
899
- room: {
900
- access: endpoint({ method: "GET", path: "/rooms/:roomId/access", pathParams: roomIdParam, response: RoomAccessResponseSchema })
2207
+ pushTokens: {
2208
+ list: endpoint({ method: "GET", path: "/push-tokens", response: import_zod29.z.array(PushTokenResponseSchema) }),
2209
+ register: endpoint({ method: "POST", path: "/push-tokens", body: RegisterPushTokenRequestSchema, response: PushTokenResponseSchema }),
2210
+ revoke: endpoint({ method: "POST", path: "/push-tokens/revoke", body: RevokePushTokenRequestSchema, response: NoContentSchema })
2211
+ },
2212
+ liveActivities: {
2213
+ listMealPlanSessions: endpoint({ method: "GET", path: "/meal-plans/:mealPlanId/live-activity", pathParams: mealPlanIdParam, response: MealPlanLiveActivitySessionListResponseSchema }),
2214
+ registerMealPlanSession: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/live-activity/sessions", pathParams: mealPlanIdParam, body: RegisterMealPlanLiveActivitySessionRequestSchema, response: MealPlanLiveActivitySessionResponseSchema }),
2215
+ endMealPlanSessions: endpoint({ method: "POST", path: "/meal-plans/:mealPlanId/live-activity/end", pathParams: mealPlanIdParam, body: EndMealPlanLiveActivitySessionRequestSchema, response: NoContentSchema })
2216
+ },
2217
+ sse: {
2218
+ notifications: endpoint({ method: "GET", path: "/sse/notifications", query: sseTokenQuery, response: import_zod29.z.any() })
901
2219
  },
902
2220
  health: {
903
- healthCheck: endpoint({ method: "GET", path: "/", response: import_zod20.z.string() })
2221
+ healthCheck: endpoint({ method: "GET", path: "/", response: import_zod29.z.string() })
904
2222
  }
905
2223
  };
906
2224
 
2225
+ // src/domain/common/contracts/cache-invalidation.ts
2226
+ var CACHE_INVALIDATION_SSE_EVENT = "cache-invalidate";
2227
+
907
2228
  // src/domain/common/contracts/envelope.ts
908
2229
  var makeApiResponseSchema = ApiResponseSchema;
909
2230
  var makeApiSuccessSchema = ApiSuccessSchema;
@@ -911,20 +2232,33 @@ var makeApiSuccessSchema = ApiSuccessSchema;
911
2232
  // src/domain/common/contracts/id.ts
912
2233
  var toMemberId = (value) => MemberIdSchema.parse(value);
913
2234
  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);
2235
+ var toMealPlanId = (value) => MealPlanIdSchema.parse(value);
2236
+ var toMealPlanInviteId = (value) => MealPlanInviteIdSchema.parse(value);
2237
+ var toMealPlanJoinRequestId = (value) => MealPlanJoinRequestIdSchema.parse(value);
2238
+ var toMealPlanNearbyFriendExposureBatchId = (value) => MealPlanNearbyFriendExposureBatchIdSchema.parse(value);
2239
+ var toMealPlanChangeRequestId = (value) => MealPlanChangeRequestIdSchema.parse(value);
2240
+ var toMealPlanShareLinkId = (value) => MealPlanShareLinkIdSchema.parse(value);
2241
+ var toMealPlanShareLinkToken = (value) => MealPlanShareLinkTokenSchema.parse(value);
2242
+ var toMealPlanChatRoomId = (value) => MealPlanChatRoomIdSchema.parse(value);
2243
+ var toMealPlanChatMessageId = (value) => MealPlanChatMessageIdSchema.parse(value);
2244
+ var toMealGroupId = (value) => MealGroupIdSchema.parse(value);
917
2245
  var toRestaurantId = (value) => RestaurantIdSchema.parse(value);
918
2246
  var toCommentId = (value) => CommentIdSchema.parse(value);
919
- var toPlanId = (value) => PlanIdSchema.parse(value);
920
2247
  var toCouponId = (value) => CouponIdSchema.parse(value);
921
2248
  var toSubscriptionId = (value) => SubscriptionIdSchema.parse(value);
922
2249
  var toFriendRequestId = (value) => FriendRequestIdSchema.parse(value);
923
2250
  var toReferralCode = (value) => ReferralCodeSchema.parse(value);
2251
+
2252
+ // src/domain/food/food.contracts.ts
2253
+ var FOOD_CODE_MANIFEST_PATH = "/manifests/food-code-manifest.json";
2254
+ var AI_CLASS_TO_FOOD_CODE_MAP_PATH = "/manifests/ai-class-to-food-code-map.json";
2255
+ var FOOD_IMAGE_INDEX_PATH = "/manifests/food-image-index.json";
924
2256
  // Annotate the CommonJS export names for ESM import in node:
925
2257
  0 && (module.exports = {
926
- AcceptInvitationResponseSchema,
927
- AddLocationCandidateRequestSchema,
2258
+ AI_CLASS_TO_FOOD_CODE_MAP_PATH,
2259
+ AddMealGroupMemberRequestSchema,
2260
+ AiClassFoodCodeMappingSchema,
2261
+ AiClassToFoodCodeMapManifestSchema,
928
2262
  ApiFailureSchema,
929
2263
  ApiResponseSchema,
930
2264
  ApiSuccessSchema,
@@ -936,33 +2270,61 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
936
2270
  ArticleListQuerySchema,
937
2271
  ArticleSortBySchema,
938
2272
  ArticleSummaryResponseSchema,
2273
+ CACHE_INVALIDATION_SSE_EVENT,
2274
+ CacheInvalidationActionSchema,
2275
+ CacheInvalidationEntitySchema,
2276
+ CacheInvalidationEventSchema,
2277
+ CacheInvalidationKeySchema,
939
2278
  ChallengeStatusResponseSchema,
940
- ChatMessageRequestSchema,
941
- ChatMessageResponseSchema,
942
2279
  ClaimChallengeRewardRequestSchema,
943
2280
  ClaimChallengeRewardResponseSchema,
944
2281
  CommentIdSchema,
2282
+ CompleteMealPlanDecisionStageRequestSchema,
2283
+ CompleteOnboardingRequestSchema,
2284
+ ConfirmMealPlanDecisionSnapshotRequestSchema,
945
2285
  CouponIdSchema,
946
2286
  CouponResponseSchema,
947
2287
  CouponStatusSchema,
948
2288
  CouponTypeSchema,
949
2289
  CreateArticleRequestSchema,
950
2290
  CreateCommentRequestSchema,
951
- CreateInvitationRequestSchema,
2291
+ CreateMealGroupRequestSchema,
2292
+ CreateMealPlanChangeRequestSchema,
2293
+ CreateMealPlanInviteRequestSchema,
2294
+ CreateMealPlanJoinRequestSchema,
2295
+ CreateMealPlanParticipantRequestSchema,
2296
+ CreateMealPlanRequestSchema,
2297
+ CreateMealPlanResponseSchema,
2298
+ CreateMealPlanShareLinkRequestSchema,
2299
+ CreateMealPlanVoteRequestSchema,
952
2300
  CreateProfileRequestSchema,
953
- CreateRecruitRequestSchema,
954
- CreateRecruitResponseSchema,
955
2301
  CreatedEntityIdResponseSchema,
956
- DatePicksUpdateResponseSchema,
957
- ExcludeMenuRequestSchema,
958
- ExcludeMenuUpdateResponseSchema,
959
- FinalStateSchema,
2302
+ CuisineTagSchema,
2303
+ DevicePermissionSnapshotSchema,
2304
+ EndMealPlanLiveActivitySessionRequestSchema,
2305
+ ExposeMealPlanToNearbyFriendsRequestSchema,
2306
+ ExposeMealPlanToNearbyFriendsResponseSchema,
2307
+ FOOD_CODE_MANIFEST_PATH,
2308
+ FOOD_IMAGE_INDEX_PATH,
2309
+ FoodAiClassMappingStatusSchema,
960
2310
  FoodAnalysisResultSchema,
2311
+ FoodCodeManifestImageSchema,
2312
+ FoodCodeManifestItemSchema,
2313
+ FoodCodeManifestSchema,
961
2314
  FoodCodeSchema,
2315
+ FoodGranularitySchema,
2316
+ FoodImageIndexItemSchema,
2317
+ FoodImageIndexManifestSchema,
962
2318
  FoodLabelSchema,
2319
+ FoodResolveQuerySchema,
2320
+ FoodResolveResponseSchema,
2321
+ FoodResolvedMatchSourceSchema,
963
2322
  FoodSchema,
2323
+ FoodSearchQuerySchema,
2324
+ FoodSearchResponseSchema,
964
2325
  FriendBlockItemResponseSchema,
965
2326
  FriendListItemResponseSchema,
2327
+ FriendMealAvailabilitySchema,
966
2328
  FriendMealItemResponseSchema,
967
2329
  FriendMealQuerySchema,
968
2330
  FriendRequestIdSchema,
@@ -971,19 +2333,120 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
971
2333
  FriendRequestStatusSchema,
972
2334
  FriendSearchQuerySchema,
973
2335
  FriendSearchResponseSchema,
2336
+ HomeMealPlanActionCardSchema,
2337
+ HomeMealPlanActionKindSchema,
2338
+ HomeMealPlanDashboardResponseSchema,
974
2339
  ISODateStringSchema,
975
2340
  ISODateTimeStringSchema,
976
- InvitationIdSchema,
977
- InvitationListItemResponseSchema,
978
- InvitationRoomStageSchema,
2341
+ JoinMealPlanGuestRequestSchema,
2342
+ JoinMealPlanGuestResponseSchema,
979
2343
  KakaoPlaceRawSchema,
980
- LocationCandidateAddUpdateResponseSchema,
981
- LocationCandidateSchema,
982
- LocationCandidateVoteUpdateResponseSchema,
983
- LocationIdSchema,
2344
+ LocationConsentStatusSchema,
984
2345
  LoginRequestSchema,
985
- MatchingNotificationKindSchema,
986
- MatchingNotificationSchema,
2346
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
2347
+ MealGroupHistoryItemSchema,
2348
+ MealGroupHistoryResponseSchema,
2349
+ MealGroupIdSchema,
2350
+ MealGroupMemberRoleSchema,
2351
+ MealGroupMemberSchema,
2352
+ MealGroupPreferenceSummarySchema,
2353
+ MealGroupResponseSchema,
2354
+ MealMapFriendRecordLocationMetadataSchema,
2355
+ MealMapLayerSchema,
2356
+ MealMapMarkerSchema,
2357
+ MealMapMyMealPlanPlaceMetadataSchema,
2358
+ MealMapNearbyFriendMealPlanMetadataSchema,
2359
+ MealMapQuerySchema,
2360
+ MealMapResponseSchema,
2361
+ MealMapRestaurantCandidateCompletionBlockedReasonSchema,
2362
+ MealMapRestaurantCandidateMetadataSchema,
2363
+ MealPlanChangeRequestIdSchema,
2364
+ MealPlanChangeRequestStatusSchema,
2365
+ MealPlanChangeRequestSummarySchema,
2366
+ MealPlanChannelSchema,
2367
+ MealPlanChatMessageIdSchema,
2368
+ MealPlanChatMessageKindSchema,
2369
+ MealPlanChatMessageListResponseSchema,
2370
+ MealPlanChatMessageResponseSchema,
2371
+ MealPlanChatRoomIdSchema,
2372
+ MealPlanChatRoomSummarySchema,
2373
+ MealPlanChatSystemPayloadSchema,
2374
+ MealPlanDecisionActorTypeSchema,
2375
+ MealPlanDecisionCandidateSchema,
2376
+ MealPlanDecisionFinalFieldSchema,
2377
+ MealPlanDecisionProgressSchema,
2378
+ MealPlanDecisionReasonSchema,
2379
+ MealPlanDecisionSnapshotSchema,
2380
+ MealPlanDecisionSnapshotStatusSchema,
2381
+ MealPlanDecisionStageIdSchema,
2382
+ MealPlanDecisionStageMetadataSchema,
2383
+ MealPlanDecisionStageResponseSchema,
2384
+ MealPlanDecisionStageStatusSchema,
2385
+ MealPlanDecisionStageTypeSchema,
2386
+ MealPlanDecisionTaskKeySchema,
2387
+ MealPlanDecisionTaskProgressSchema,
2388
+ MealPlanDecisionTaskStatusSchema,
2389
+ MealPlanGuestParticipantSchema,
2390
+ MealPlanGuestSessionQuerySchema,
2391
+ MealPlanGuestSessionResponseSchema,
2392
+ MealPlanIdSchema,
2393
+ MealPlanInviteIdSchema,
2394
+ MealPlanInviteListResponseSchema,
2395
+ MealPlanInviteStatusSchema,
2396
+ MealPlanInviteSummarySchema,
2397
+ MealPlanJoinRequestIdSchema,
2398
+ MealPlanJoinRequestStatusSchema,
2399
+ MealPlanJoinRequestSummarySchema,
2400
+ MealPlanJoinSourceSchema,
2401
+ MealPlanLatitudeSchema,
2402
+ MealPlanLiveActivityBehaviorSchema,
2403
+ MealPlanLiveActivityPlatformSchema,
2404
+ MealPlanLiveActivitySessionListResponseSchema,
2405
+ MealPlanLiveActivitySessionResponseSchema,
2406
+ MealPlanLiveActivitySessionStatusSchema,
2407
+ MealPlanLiveActivityStateSchema,
2408
+ MealPlanLiveActivityUpdateStatusSchema,
2409
+ MealPlanLocationCandidateIdSchema,
2410
+ MealPlanLocationCandidateSchema,
2411
+ MealPlanLocationCandidateSourceSchema,
2412
+ MealPlanLongitudeSchema,
2413
+ MealPlanMenuCandidateIdSchema,
2414
+ MealPlanMenuCandidateSchema,
2415
+ MealPlanMenuCandidateSourceSchema,
2416
+ MealPlanNearbyFriendExposureBatchIdSchema,
2417
+ MealPlanNearbyFriendExposureBatchSummarySchema,
2418
+ MealPlanNearbyFriendExposureIdSchema,
2419
+ MealPlanNearbyFriendExposureNotificationStatusSchema,
2420
+ MealPlanNearbyFriendExposureStatusSchema,
2421
+ MealPlanNearbyFriendExposureSummarySchema,
2422
+ MealPlanNearbyFriendRejectionReasonSchema,
2423
+ MealPlanNearbyFriendRejectionSummarySchema,
2424
+ MealPlanNotificationKindSchema,
2425
+ MealPlanNotificationPriorityChannelSchema,
2426
+ MealPlanNotificationPriorityPolicyItemSchema,
2427
+ MealPlanNotificationSchema,
2428
+ MealPlanParticipantIdSchema,
2429
+ MealPlanParticipantResponseSchema,
2430
+ MealPlanParticipantRoleSchema,
2431
+ MealPlanParticipantStatusSchema,
2432
+ MealPlanPushPayloadDataSchema,
2433
+ MealPlanRecommendationContextSchema,
2434
+ MealPlanResponseSchema,
2435
+ MealPlanRestaurantCandidateSchema,
2436
+ MealPlanRestaurantSearchStateSchema,
2437
+ MealPlanRestaurantSearchStatusSchema,
2438
+ MealPlanShareLinkIdSchema,
2439
+ MealPlanShareLinkSummarySchema,
2440
+ MealPlanShareLinkTokenSchema,
2441
+ MealPlanSharePreviewResponseSchema,
2442
+ MealPlanStatusSchema,
2443
+ MealPlanSystemMessageKindSchema,
2444
+ MealPlanSystemMessageSchema,
2445
+ MealPlanViewerPermissionsSchema,
2446
+ MealPlanViewerRoleSchema,
2447
+ MealPlanVoteIdSchema,
2448
+ MealPlanVoteSchema,
2449
+ MealPlanVoteTypeSchema,
987
2450
  MealStatusActionSchema,
988
2451
  MealStatusResponseSchema,
989
2452
  MealStatusSchema,
@@ -991,67 +2454,68 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
991
2454
  MemberDetailSchema,
992
2455
  MemberFoodPreferenceSchema,
993
2456
  MemberIdSchema,
2457
+ MemberLocationSchema,
2458
+ MemberLocationSettingsResponseSchema,
994
2459
  MemberResponseSchema,
995
2460
  MemberRoleSchema,
996
2461
  MemberSearchQuerySchema,
997
2462
  MemberSerachResponseSchema,
998
- MenuCodeSchema,
999
- MenuPickUpdateResponseSchema,
1000
- MenuSchema,
2463
+ MyMealPlanGroupSchema,
2464
+ MyMealPlanListItemSchema,
2465
+ MyMealPlanListResponseSchema,
2466
+ NearbyFriendExposureEligibilitySchema,
2467
+ NearbyFriendMealPlanSummarySchema,
1001
2468
  NoBodySchema,
1002
2469
  NoContentSchema,
1003
2470
  NoParamsSchema,
1004
2471
  NoQuerySchema,
1005
2472
  NonEmptyStringIdSchema,
2473
+ OnboardingDraftSchema,
2474
+ OnboardingStatusSchema,
1006
2475
  PageArticleSummaryResponseSchema,
1007
2476
  PageMetaSchema,
1008
2477
  PageQuerySchema,
1009
2478
  PageResponseSchema,
1010
- ParticipantSchema,
1011
- PhaseDataBroadcastSchema,
1012
- PickDateRequestSchema,
1013
- PickMenuRequestSchema,
1014
- PickRestaurantRequestSchema,
1015
- PickTimesRequestSchema,
1016
- PlanIdSchema,
1017
- PlanListQuerySchema,
1018
- PlanResponseSchema,
1019
- PlanStatusSchema,
1020
- PlanTypeSchema,
2479
+ PermissionKindSchema,
2480
+ PermissionPlatformSchema,
2481
+ PermissionStatusSchema,
1021
2482
  PositiveIntIdSchema,
1022
2483
  ProfileDetailResponseSchema,
1023
- ReadyStateChangedSchema,
1024
- ReadyStateRequestSchema,
1025
- RecruitIdSchema,
1026
- RecruitListQuerySchema,
1027
- RecruitListResponseSchema,
1028
- RecruitRoomStageSchema,
1029
- RecruitSortBySchema,
1030
- RecruitStatusSchema,
2484
+ PushDeliveryAttemptResultSchema,
2485
+ PushDeliveryAttemptSummarySchema,
2486
+ PushDeliveryOutboxSummarySchema,
2487
+ PushDeliveryStatusSchema,
2488
+ PushPayloadSchemaVersionSchema,
2489
+ PushPermissionStatusSchema,
2490
+ PushPlatformSchema,
2491
+ PushProviderSchema,
2492
+ PushTokenResponseSchema,
2493
+ PushTokenStatusSchema,
1031
2494
  RedeemReferralRequestSchema,
1032
2495
  ReferralCodeSchema,
1033
2496
  ReferralCreateResponseSchema,
1034
2497
  ReferralItemResponseSchema,
2498
+ RegisterMealPlanLiveActivitySessionRequestSchema,
2499
+ RegisterPushTokenRequestSchema,
2500
+ ReopenMealPlanDecisionTaskRequestSchema,
2501
+ ResolvedFoodCodeSchema,
1035
2502
  RestaurantIdSchema,
1036
- RestaurantPickUpdateResponseSchema,
1037
2503
  RestaurantSchema,
1038
- RoomAccessResponseSchema,
1039
- RoomAssignedResponseSchema,
1040
- RoomIdSchema,
1041
- RoomInitialStateSchema,
1042
- RoomSocketClientEventSchemas,
1043
- RoomSocketErrorSchema,
1044
- RoomSocketServerEventSchemas,
1045
- RoomTypeSchema,
1046
- SendInvitationResponseSchema,
2504
+ RevokePushTokenRequestSchema,
2505
+ SendMealPlanChatMessageRequestSchema,
2506
+ SendMealPlanInviteResponseSchema,
1047
2507
  SignupRequestSchema,
1048
2508
  SignupResponseSchema,
1049
2509
  SortDirectionSchema,
2510
+ StartMealPlanFromGroupRequestSchema,
1050
2511
  SubscriptionIdSchema,
1051
2512
  TimeHHmmStringSchema,
1052
- TimePicksUpdateResponseSchema,
1053
2513
  TokenResponseSchema,
2514
+ UpdateMealGroupMemberRoleRequestSchema,
2515
+ UpdateMealPlanContextRequestSchema,
1054
2516
  UpdateMealStatusRequestSchema,
2517
+ UpdateMemberLocationConsentRequestSchema,
2518
+ UpdateMemberLocationRequestSchema,
1055
2519
  UpdatePreferenceRequestSchema,
1056
2520
  UpdateProfileRequestSchema,
1057
2521
  UploadArticleImageRequestSchema,
@@ -1059,21 +2523,31 @@ var toReferralCode = (value) => ReferralCodeSchema.parse(value);
1059
2523
  UploadProfileImageRequestSchema,
1060
2524
  UploadProfileImageResponseSchema,
1061
2525
  UserIdSchema,
1062
- VoteLocationRequestSchema,
1063
2526
  apiContract,
2527
+ compareMealPlanNotificationsByPriority,
1064
2528
  endpoint,
2529
+ getMealPlanLiveActivityBehavior,
2530
+ getMealPlanNotificationPriority,
2531
+ getMealPlanNotificationPriorityPolicy,
1065
2532
  makeApiResponseSchema,
1066
2533
  makeApiSuccessSchema,
2534
+ shouldShowForegroundToast,
1067
2535
  toArticleId,
1068
2536
  toCommentId,
1069
2537
  toCouponId,
1070
2538
  toFriendRequestId,
1071
- toInvitationId,
2539
+ toMealGroupId,
2540
+ toMealPlanChangeRequestId,
2541
+ toMealPlanChatMessageId,
2542
+ toMealPlanChatRoomId,
2543
+ toMealPlanId,
2544
+ toMealPlanInviteId,
2545
+ toMealPlanJoinRequestId,
2546
+ toMealPlanNearbyFriendExposureBatchId,
2547
+ toMealPlanShareLinkId,
2548
+ toMealPlanShareLinkToken,
1072
2549
  toMemberId,
1073
- toPlanId,
1074
- toRecruitId,
1075
2550
  toReferralCode,
1076
2551
  toRestaurantId,
1077
- toRoomId,
1078
2552
  toSubscriptionId
1079
2553
  });