@kimdaegyu/babmukdang-shared 1.1.11 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/chunk-3TY6OPD3.js +91 -0
  2. package/dist/{chunk-W4C7XHTX.js → chunk-6O2YTBVC.js} +3 -3
  3. package/dist/{chunk-GTVEQYJW.js → chunk-7JYVBXKQ.js} +1 -1
  4. package/dist/chunk-7UZD4LBQ.js +459 -0
  5. package/dist/chunk-BSJC7OVV.js +10 -0
  6. package/dist/chunk-C63TN7L3.js +148 -0
  7. package/dist/chunk-CGFW5LYV.js +143 -0
  8. package/dist/chunk-GOOH2LGN.js +829 -0
  9. package/dist/chunk-LEH6UFL7.js +314 -0
  10. package/dist/{chunk-K3CZKI2F.js → chunk-NENVUHL5.js} +11 -8
  11. package/dist/chunk-OPMBGBYS.js +632 -0
  12. package/dist/{chunk-OJVXYCSH.js → chunk-QFPVAJ2U.js} +1 -1
  13. package/dist/{chunk-AI2YMBJX.js → chunk-RZPNVRRS.js} +5 -5
  14. package/dist/{chunk-4E5E3PFW.js → chunk-VD3VGLBQ.js} +13 -5
  15. package/dist/chunk-WYBFBLQC.js +111 -0
  16. package/dist/{chunk-H77ISYYC.js → chunk-XMRYAG3V.js} +20 -8
  17. package/dist/domain/article/index.cjs +71 -7
  18. package/dist/domain/article/index.d.cts +79 -796
  19. package/dist/domain/article/index.d.ts +79 -796
  20. package/dist/domain/article/index.js +4 -4
  21. package/dist/domain/auth/index.cjs +68 -6
  22. package/dist/domain/auth/index.d.cts +6 -46
  23. package/dist/domain/auth/index.d.ts +6 -46
  24. package/dist/domain/auth/index.js +3 -3
  25. package/dist/domain/common/index.cjs +1438 -330
  26. package/dist/domain/common/index.d.cts +212 -3037
  27. package/dist/domain/common/index.d.ts +212 -3037
  28. package/dist/domain/common/index.js +65 -30
  29. package/dist/domain/food/index.cjs +225 -0
  30. package/dist/domain/food/index.d.cts +321 -0
  31. package/dist/domain/food/index.d.ts +321 -0
  32. package/dist/domain/food/index.js +46 -0
  33. package/dist/domain/friend/index.cjs +78 -7
  34. package/dist/domain/friend/index.d.cts +39 -98
  35. package/dist/domain/friend/index.d.ts +39 -98
  36. package/dist/domain/friend/index.js +5 -3
  37. package/dist/domain/index.cjs +1930 -456
  38. package/dist/domain/index.d.cts +382 -123
  39. package/dist/domain/index.d.ts +382 -123
  40. package/dist/domain/index.js +429 -140
  41. package/dist/domain/live-activity/index.cjs +1112 -0
  42. package/dist/domain/live-activity/index.d.cts +177 -0
  43. package/dist/domain/live-activity/index.d.ts +177 -0
  44. package/dist/domain/live-activity/index.js +28 -0
  45. package/dist/domain/meal/index.cjs +68 -6
  46. package/dist/domain/meal/index.d.cts +21 -40
  47. package/dist/domain/meal/index.d.ts +21 -40
  48. package/dist/domain/meal/index.js +4 -4
  49. package/dist/domain/meal-plan/index.cjs +1540 -0
  50. package/dist/domain/meal-plan/index.d.cts +4523 -0
  51. package/dist/domain/meal-plan/index.d.ts +4523 -0
  52. package/dist/domain/meal-plan/index.js +255 -0
  53. package/dist/domain/member/index.cjs +94 -6
  54. package/dist/domain/member/index.d.cts +263 -273
  55. package/dist/domain/member/index.d.ts +263 -273
  56. package/dist/domain/member/index.js +26 -2
  57. package/dist/domain/promotion/index.cjs +10 -4
  58. package/dist/domain/promotion/index.d.cts +35 -112
  59. package/dist/domain/promotion/index.d.ts +35 -112
  60. package/dist/domain/promotion/index.js +2 -2
  61. package/dist/domain/push/index.cjs +1055 -0
  62. package/dist/domain/push/index.d.cts +169 -0
  63. package/dist/domain/push/index.d.ts +169 -0
  64. package/dist/domain/push/index.js +36 -0
  65. package/dist/domain/restaurant/index.cjs +10 -4
  66. package/dist/domain/restaurant/index.d.cts +27 -1
  67. package/dist/domain/restaurant/index.d.ts +27 -1
  68. package/dist/domain/restaurant/index.js +2 -2
  69. package/dist/index.cjs +1731 -399
  70. package/dist/index.d.cts +5 -7
  71. package/dist/index.d.ts +5 -7
  72. package/dist/index.js +17 -15
  73. package/package.json +52 -55
  74. package/dist/chunk-PFSZSKD5.js +0 -0
  75. package/dist/chunk-PQMEXOPZ.js +0 -232
  76. package/dist/chunk-W4TUW2GY.js +0 -40
  77. package/dist/chunk-WNYCCQM4.js +0 -342
  78. package/dist/chunk-YGFAVC5N.js +0 -34
  79. package/dist/chunk-YM7YU7IR.js +0 -319
  80. package/dist/chunk-ZH7D7B2Y.js +0 -78
  81. package/dist/domain/invitation/index.cjs +0 -82
  82. package/dist/domain/invitation/index.d.cts +0 -64
  83. package/dist/domain/invitation/index.d.ts +0 -64
  84. package/dist/domain/invitation/index.js +0 -13
  85. package/dist/domain/plan/index.cjs +0 -327
  86. package/dist/domain/plan/index.d.cts +0 -178
  87. package/dist/domain/plan/index.d.ts +0 -178
  88. package/dist/domain/plan/index.js +0 -18
  89. package/dist/domain/recruit/index.cjs +0 -189
  90. package/dist/domain/recruit/index.d.cts +0 -214
  91. package/dist/domain/recruit/index.d.ts +0 -214
  92. package/dist/domain/recruit/index.js +0 -30
  93. package/dist/domain/room/index.cjs +0 -401
  94. package/dist/domain/room/index.d.cts +0 -2643
  95. package/dist/domain/room/index.d.ts +0 -2643
  96. package/dist/domain/room/index.js +0 -82
  97. package/dist/id-dAYxfjZn.d.cts +0 -64
  98. package/dist/id-dAYxfjZn.d.ts +0 -64
  99. package/dist/restaurant.schema-CuEcX3S3.d.cts +0 -78
  100. package/dist/restaurant.schema-CuEcX3S3.d.ts +0 -78
@@ -0,0 +1,829 @@
1
+ import {
2
+ RestaurantSchema
3
+ } from "./chunk-7JYVBXKQ.js";
4
+ import {
5
+ FoodCodeManifestImageSchema
6
+ } from "./chunk-CGFW5LYV.js";
7
+ import {
8
+ LocationConsentStatusSchema,
9
+ MemberCoreSchema
10
+ } from "./chunk-C63TN7L3.js";
11
+ import {
12
+ ISODateStringSchema,
13
+ ISODateTimeStringSchema,
14
+ TimeHHmmStringSchema
15
+ } from "./chunk-HRM3FQPL.js";
16
+ import {
17
+ FoodSchema,
18
+ MealPlanChangeRequestIdSchema,
19
+ MealPlanChatMessageIdSchema,
20
+ MealPlanChatRoomIdSchema,
21
+ MealPlanIdSchema,
22
+ MealPlanInviteIdSchema,
23
+ MealPlanJoinRequestIdSchema,
24
+ MealPlanNearbyFriendExposureBatchIdSchema,
25
+ MemberIdSchema,
26
+ RestaurantIdSchema
27
+ } from "./chunk-XMRYAG3V.js";
28
+
29
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
30
+ import { z } from "zod";
31
+ var MealPlanLatitudeSchema = z.number().brand();
32
+ var MealPlanLongitudeSchema = z.number().brand();
33
+ var MealPlanLocationCandidateIdSchema = z.string().min(1).brand();
34
+ var MealPlanMenuCandidateIdSchema = z.string().min(1).brand();
35
+ var MealPlanDecisionStageIdSchema = z.string().uuid().brand();
36
+ var MealPlanVoteIdSchema = z.string().uuid().brand();
37
+ var MealPlanLocationCandidateSourceSchema = z.enum([
38
+ "manual",
39
+ "map-marker",
40
+ "midpoint",
41
+ "user-location",
42
+ "search",
43
+ "recent-place",
44
+ "fallback"
45
+ ]);
46
+ var MealPlanLocationCandidateSchema = z.object({
47
+ locationId: MealPlanLocationCandidateIdSchema,
48
+ placeName: z.string().min(1),
49
+ lat: MealPlanLatitudeSchema,
50
+ lng: MealPlanLongitudeSchema,
51
+ address: z.string().default(""),
52
+ source: MealPlanLocationCandidateSourceSchema.default("manual"),
53
+ createdBy: MemberIdSchema.optional(),
54
+ createdAt: ISODateTimeStringSchema.optional()
55
+ });
56
+ var MealPlanMenuCandidateSourceSchema = z.enum([
57
+ "external-recommendation",
58
+ "prefer-menu",
59
+ "recent-menu",
60
+ "fallback",
61
+ "manual-search"
62
+ ]);
63
+ var MealPlanMenuCandidateSchema = z.object({
64
+ menuCandidateId: MealPlanMenuCandidateIdSchema,
65
+ menu: FoodSchema,
66
+ source: MealPlanMenuCandidateSourceSchema,
67
+ score: z.number().default(0),
68
+ imageUrl: z.string().min(1).nullable().default(null),
69
+ image: FoodCodeManifestImageSchema.nullable().default(null),
70
+ createdAt: ISODateTimeStringSchema
71
+ });
72
+ var MealPlanRestaurantCandidateSchema = RestaurantSchema.extend({
73
+ candidateId: RestaurantIdSchema.optional(),
74
+ source: z.enum(["search", "fallback", "manual"]).optional(),
75
+ createdAt: ISODateTimeStringSchema.optional()
76
+ });
77
+ var MealPlanDecisionStageTypeSchema = z.enum([
78
+ "DATE",
79
+ "TIME",
80
+ "AREA",
81
+ "MENU",
82
+ "RESTAURANT",
83
+ "FINAL_CONFIRMATION"
84
+ ]);
85
+ var MealPlanDecisionStageStatusSchema = z.enum([
86
+ "OPEN",
87
+ "COMPLETED",
88
+ "REOPENED"
89
+ ]);
90
+ var MealPlanRestaurantSearchStatusSchema = z.enum([
91
+ "IDLE",
92
+ "PENDING",
93
+ "READY",
94
+ "FAILED",
95
+ "STALE"
96
+ ]);
97
+ var MealPlanRestaurantSearchStateSchema = z.object({
98
+ searchKey: z.string().min(1).nullable(),
99
+ status: MealPlanRestaurantSearchStatusSchema,
100
+ startedAt: ISODateTimeStringSchema.nullable(),
101
+ completedAt: ISODateTimeStringSchema.nullable(),
102
+ version: z.number().int().min(0),
103
+ candidateCount: z.number().int().min(0),
104
+ errorMessage: z.string().nullable().default(null)
105
+ });
106
+ var MealPlanDecisionStageMetadataSchema = z.object({
107
+ restaurantSearch: MealPlanRestaurantSearchStateSchema.optional()
108
+ }).catchall(z.unknown());
109
+ var MealPlanVoteTypeSchema = z.enum([
110
+ "PICK",
111
+ "EXCLUDE",
112
+ "PREFER",
113
+ "READY"
114
+ ]);
115
+ var MealPlanDecisionCandidateSchema = z.discriminatedUnion("stageType", [
116
+ z.object({ stageType: z.literal("DATE"), value: ISODateStringSchema }),
117
+ z.object({ stageType: z.literal("TIME"), value: TimeHHmmStringSchema }),
118
+ z.object({ stageType: z.literal("AREA"), value: MealPlanLocationCandidateSchema }),
119
+ z.object({ stageType: z.literal("MENU"), value: MealPlanMenuCandidateSchema }),
120
+ z.object({ stageType: z.literal("RESTAURANT"), value: MealPlanRestaurantCandidateSchema }),
121
+ z.object({ stageType: z.literal("FINAL_CONFIRMATION"), value: z.literal("READY") })
122
+ ]);
123
+ var MealPlanVoteSchema = z.object({
124
+ voteId: MealPlanVoteIdSchema,
125
+ voterId: MemberIdSchema.nullable(),
126
+ guestId: z.string().min(1).nullable(),
127
+ voteType: MealPlanVoteTypeSchema,
128
+ candidate: MealPlanDecisionCandidateSchema,
129
+ createdAt: ISODateTimeStringSchema
130
+ });
131
+ var MealPlanDecisionStageResponseSchema = z.object({
132
+ stageId: MealPlanDecisionStageIdSchema,
133
+ stageType: MealPlanDecisionStageTypeSchema,
134
+ status: MealPlanDecisionStageStatusSchema,
135
+ candidates: z.array(MealPlanDecisionCandidateSchema),
136
+ votes: z.array(MealPlanVoteSchema),
137
+ selectedCandidate: MealPlanDecisionCandidateSchema.nullable(),
138
+ metadata: MealPlanDecisionStageMetadataSchema.nullable().default(null),
139
+ openedAt: ISODateTimeStringSchema,
140
+ completedAt: ISODateTimeStringSchema.nullable(),
141
+ reopenedAt: ISODateTimeStringSchema.nullable()
142
+ });
143
+ var CreateMealPlanVoteRequestSchema = z.object({
144
+ voteType: MealPlanVoteTypeSchema,
145
+ candidate: MealPlanDecisionCandidateSchema
146
+ });
147
+ var CompleteMealPlanDecisionStageRequestSchema = z.object({
148
+ selectedCandidate: MealPlanDecisionCandidateSchema
149
+ });
150
+ var MealPlanChangeRequestStatusSchema = z.enum([
151
+ "PENDING",
152
+ "ACCEPTED",
153
+ "REJECTED",
154
+ "CANCELLED"
155
+ ]);
156
+ var CreateMealPlanChangeRequestSchema = z.object({
157
+ stageType: MealPlanDecisionStageTypeSchema,
158
+ reason: z.string().min(1).max(500),
159
+ proposedCandidate: MealPlanDecisionCandidateSchema.optional()
160
+ });
161
+ var MealPlanChangeRequestSummarySchema = z.object({
162
+ changeRequestId: MealPlanChangeRequestIdSchema,
163
+ stageType: MealPlanDecisionStageTypeSchema,
164
+ status: MealPlanChangeRequestStatusSchema,
165
+ reason: z.string(),
166
+ requestedAt: ISODateTimeStringSchema
167
+ });
168
+ var MealPlanDecisionTaskKeySchema = z.enum([
169
+ "SCHEDULE_DATE",
170
+ "SCHEDULE_TIME",
171
+ "LOCATION_CANDIDATE",
172
+ "LOCATION_VOTE",
173
+ "EXCLUDE_MENU",
174
+ "PREFER_MENU",
175
+ "MENU_PICK",
176
+ "RESTAURANT_SEARCH",
177
+ "RESTAURANT_PICK",
178
+ "FINAL_CONFIRMATION"
179
+ ]);
180
+ var MealPlanDecisionTaskStatusSchema = z.enum([
181
+ "LOCKED",
182
+ "OPEN",
183
+ "RESOLVED",
184
+ "STALE"
185
+ ]);
186
+ var MealPlanDecisionFinalFieldSchema = z.enum([
187
+ "date",
188
+ "time",
189
+ "meetingAt",
190
+ "area",
191
+ "menu",
192
+ "restaurant"
193
+ ]);
194
+ var MealPlanDecisionSnapshotStatusSchema = z.enum([
195
+ "CANDIDATE",
196
+ "PROVISIONAL",
197
+ "FINAL",
198
+ "STALE"
199
+ ]);
200
+ var MealPlanDecisionReasonSchema = z.enum([
201
+ "COMMON_SCHEDULE",
202
+ "TOP_VOTED_LOCATION",
203
+ "TOP_PICKED_MENU",
204
+ "TOP_PICKED_RESTAURANT",
205
+ "OWNER_CONFIRMED",
206
+ "MANUAL_SELECTION"
207
+ ]);
208
+ var MealPlanDecisionActorTypeSchema = z.enum(["MEMBER", "GUEST", "SYSTEM"]);
209
+ var MealPlanDecisionSnapshotSchema = z.object({
210
+ snapshotId: z.string().uuid(),
211
+ mealPlanId: z.string().uuid(),
212
+ field: MealPlanDecisionFinalFieldSchema,
213
+ value: z.unknown(),
214
+ status: MealPlanDecisionSnapshotStatusSchema,
215
+ reason: MealPlanDecisionReasonSchema,
216
+ score: z.number().nullable().default(null),
217
+ sourceEvent: z.string().min(1),
218
+ sourceActorType: MealPlanDecisionActorTypeSchema,
219
+ sourceMemberId: MemberIdSchema.nullable(),
220
+ sourceGuestId: z.string().min(1).nullable(),
221
+ sourceParticipantId: z.string().uuid().nullable(),
222
+ sourceVersion: z.number().int().min(0),
223
+ dependencyHash: z.string().min(1),
224
+ dependencyFields: z.array(MealPlanDecisionFinalFieldSchema),
225
+ createdAt: ISODateTimeStringSchema,
226
+ staleAt: ISODateTimeStringSchema.nullable()
227
+ });
228
+ var MealPlanDecisionTaskProgressSchema = z.object({
229
+ taskKey: MealPlanDecisionTaskKeySchema,
230
+ status: MealPlanDecisionTaskStatusSchema,
231
+ blockers: z.array(z.string()).default([]),
232
+ updatedAt: ISODateTimeStringSchema
233
+ });
234
+ var MealPlanDecisionProgressSchema = z.object({
235
+ mealPlanId: z.string().uuid(),
236
+ status: z.string().min(1),
237
+ tasks: z.array(MealPlanDecisionTaskProgressSchema),
238
+ final: z.record(z.string(), z.unknown()),
239
+ provisional: z.record(z.string(), z.unknown()),
240
+ snapshots: z.array(MealPlanDecisionSnapshotSchema),
241
+ version: z.number().int().min(0),
242
+ updatedAt: ISODateTimeStringSchema
243
+ });
244
+ var ReopenMealPlanDecisionTaskRequestSchema = z.object({
245
+ reason: z.string().max(500).optional()
246
+ });
247
+ var ConfirmMealPlanDecisionSnapshotRequestSchema = z.object({
248
+ snapshotId: z.string().uuid()
249
+ });
250
+
251
+ // src/domain/meal-plan/meal-plan-participant.schema.ts
252
+ import { z as z2 } from "zod";
253
+ var MealPlanParticipantIdSchema = z2.string().uuid().brand();
254
+ var MealPlanParticipantRoleSchema = z2.enum([
255
+ "OWNER",
256
+ "FRIEND",
257
+ "GUEST"
258
+ ]);
259
+ var MealPlanParticipantStatusSchema = z2.enum([
260
+ "INVITED",
261
+ "REQUESTED",
262
+ "JOINED",
263
+ "READY",
264
+ "DECLINED",
265
+ "LEFT",
266
+ "REMOVED"
267
+ ]);
268
+ var MealPlanJoinSourceSchema = z2.enum([
269
+ "OWNER",
270
+ "FRIEND_INVITE",
271
+ "LINK_GUEST",
272
+ "NEARBY_FRIENDS"
273
+ ]);
274
+ var MealPlanGuestParticipantSchema = z2.object({
275
+ guestId: z2.string().min(1),
276
+ nickname: z2.string().min(1).max(50)
277
+ });
278
+ var MealPlanParticipantResponseSchema = z2.object({
279
+ participantId: MealPlanParticipantIdSchema,
280
+ mealPlanId: MealPlanIdSchema,
281
+ member: MemberCoreSchema.nullable(),
282
+ guest: MealPlanGuestParticipantSchema.nullable(),
283
+ role: MealPlanParticipantRoleSchema,
284
+ status: MealPlanParticipantStatusSchema,
285
+ source: MealPlanJoinSourceSchema,
286
+ joinedAt: ISODateTimeStringSchema.nullable(),
287
+ readyAt: ISODateTimeStringSchema.nullable()
288
+ });
289
+ var CreateMealPlanParticipantRequestSchema = z2.object({
290
+ memberId: MemberIdSchema.optional(),
291
+ guestNickname: z2.string().min(1).max(50).optional(),
292
+ source: MealPlanJoinSourceSchema
293
+ });
294
+
295
+ // src/domain/meal-plan/meal-plan-invite.schema.ts
296
+ import { z as z3 } from "zod";
297
+ var MealPlanInviteStatusSchema = z3.enum([
298
+ "PENDING",
299
+ "ACCEPTED",
300
+ "DECLINED",
301
+ "CANCELLED",
302
+ "EXPIRED"
303
+ ]);
304
+ var CreateMealPlanInviteRequestSchema = z3.object({
305
+ inviteeId: MemberIdSchema,
306
+ message: z3.string().max(500).default("")
307
+ });
308
+ var MealPlanInviteSummarySchema = z3.object({
309
+ inviteId: MealPlanInviteIdSchema,
310
+ mealPlanId: MealPlanIdSchema,
311
+ inviter: MemberCoreSchema,
312
+ invitee: MemberCoreSchema,
313
+ status: MealPlanInviteStatusSchema,
314
+ message: z3.string().max(500),
315
+ createdAt: ISODateTimeStringSchema,
316
+ respondedAt: ISODateTimeStringSchema.nullable()
317
+ });
318
+ var MealPlanInviteListResponseSchema = z3.array(MealPlanInviteSummarySchema);
319
+ var SendMealPlanInviteResponseSchema = z3.object({
320
+ inviteId: MealPlanInviteIdSchema
321
+ });
322
+
323
+ // src/domain/meal-plan/meal-plan-nearby-friend.schema.ts
324
+ import { z as z4 } from "zod";
325
+ var MealPlanNearbyFriendExposureIdSchema = z4.string().uuid().brand();
326
+ var MealPlanNearbyFriendExposureStatusSchema = z4.enum([
327
+ "OPEN",
328
+ "CLOSED",
329
+ "EXPIRED"
330
+ ]);
331
+ var MealPlanNearbyFriendExposureNotificationStatusSchema = z4.enum([
332
+ "PENDING",
333
+ "SENT",
334
+ "PARTIAL",
335
+ "FAILED",
336
+ "SKIPPED"
337
+ ]);
338
+ var ExposeMealPlanToNearbyFriendsRequestSchema = z4.object({
339
+ radiusMeters: z4.number().int().min(100).max(5e3).default(1e3),
340
+ expiresAt: ISODateTimeStringSchema.optional()
341
+ });
342
+ var NearbyFriendExposureEligibilitySchema = z4.object({
343
+ canExpose: z4.boolean(),
344
+ locationConsentStatus: LocationConsentStatusSchema,
345
+ nearbyMealPlanExposureAllowed: z4.boolean(),
346
+ mealSuggestionAllowed: z4.boolean(),
347
+ hasLastKnownLocation: z4.boolean(),
348
+ missingRequirements: z4.array(z4.enum([
349
+ "LOCATION_PERMISSION",
350
+ "SERVICE_LOCATION_CONSENT",
351
+ "NEARBY_EXPOSURE_TOGGLE",
352
+ "MEAL_SUGGESTION_TOGGLE",
353
+ "LAST_KNOWN_LOCATION"
354
+ ]))
355
+ });
356
+ var MealPlanNearbyFriendRejectionReasonSchema = z4.enum([
357
+ "NOT_FRIEND",
358
+ "BLOCKED",
359
+ "LOCATION_CONSENT_REQUIRED",
360
+ "LOCATION_UNAVAILABLE",
361
+ "OUT_OF_RADIUS",
362
+ "MEAL_SUGGESTION_DISABLED",
363
+ "NOT_HUNGRY"
364
+ ]);
365
+ var MealPlanNearbyFriendRejectionSummarySchema = z4.object({
366
+ reason: MealPlanNearbyFriendRejectionReasonSchema,
367
+ count: z4.number().int().min(0)
368
+ });
369
+ var ExposeMealPlanToNearbyFriendsResponseSchema = z4.object({
370
+ mealPlanId: MealPlanIdSchema,
371
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
372
+ exposedFriendCount: z4.number().int().min(0),
373
+ rejectedFriendCount: z4.number().int().min(0),
374
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
375
+ rejectionSummary: z4.array(MealPlanNearbyFriendRejectionSummarySchema)
376
+ });
377
+ var MealPlanNearbyFriendExposureSummarySchema = z4.object({
378
+ exposureId: MealPlanNearbyFriendExposureIdSchema,
379
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema.nullable(),
380
+ mealPlanId: MealPlanIdSchema,
381
+ status: MealPlanNearbyFriendExposureStatusSchema,
382
+ radiusMeters: z4.number().int().min(100),
383
+ exposedFriendCount: z4.number().int().min(0),
384
+ openedAt: ISODateTimeStringSchema,
385
+ expiresAt: ISODateTimeStringSchema.nullable(),
386
+ closedAt: ISODateTimeStringSchema.nullable()
387
+ });
388
+ var MealPlanNearbyFriendExposureBatchSummarySchema = z4.object({
389
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
390
+ mealPlanId: MealPlanIdSchema,
391
+ status: MealPlanNearbyFriendExposureStatusSchema,
392
+ radiusMeters: z4.number().int().min(100),
393
+ exposedFriendCount: z4.number().int().min(0),
394
+ rejectedFriendCount: z4.number().int().min(0),
395
+ rejectionSummary: z4.array(MealPlanNearbyFriendRejectionSummarySchema),
396
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
397
+ notificationSentAt: ISODateTimeStringSchema.nullable(),
398
+ openedAt: ISODateTimeStringSchema,
399
+ expiresAt: ISODateTimeStringSchema.nullable(),
400
+ closedAt: ISODateTimeStringSchema.nullable()
401
+ });
402
+ var MealPlanJoinRequestStatusSchema = z4.enum([
403
+ "PENDING",
404
+ "ACCEPTED",
405
+ "REJECTED",
406
+ "CANCELLED"
407
+ ]);
408
+ var CreateMealPlanJoinRequestSchema = z4.object({
409
+ message: z4.string().max(500).default("")
410
+ });
411
+ var MealPlanJoinRequestSummarySchema = z4.object({
412
+ joinRequestId: MealPlanJoinRequestIdSchema,
413
+ mealPlanId: MealPlanIdSchema,
414
+ requester: MemberCoreSchema,
415
+ status: MealPlanJoinRequestStatusSchema,
416
+ message: z4.string().max(500),
417
+ requestedAt: ISODateTimeStringSchema,
418
+ respondedAt: ISODateTimeStringSchema.nullable()
419
+ });
420
+ var NearbyFriendMealPlanSummarySchema = z4.object({
421
+ mealPlanId: MealPlanIdSchema,
422
+ owner: MemberCoreSchema,
423
+ title: z4.string(),
424
+ participantCount: z4.number().int().min(1),
425
+ distanceMeters: z4.number().int().min(0),
426
+ exposedAt: ISODateTimeStringSchema,
427
+ expiresAt: ISODateTimeStringSchema.nullable(),
428
+ joinRequestStatus: MealPlanJoinRequestStatusSchema.nullable().default(null)
429
+ });
430
+
431
+ // src/domain/meal-plan/meal-plan-chat.schema.ts
432
+ import { z as z5 } from "zod";
433
+ var MealPlanChatMessageKindSchema = z5.enum([
434
+ "USER",
435
+ "SYSTEM"
436
+ ]);
437
+ var MealPlanSystemMessageKindSchema = z5.enum([
438
+ "PARTICIPANT_JOINED",
439
+ "PARTICIPANT_READY",
440
+ "PARTICIPANT_REMOVED",
441
+ "STATUS_CHANGED",
442
+ "DECISION_UPDATED",
443
+ "CONFIRMED",
444
+ "RECORD_NEEDED"
445
+ ]);
446
+ var MealPlanChatSystemPayloadSchema = z5.object({
447
+ kind: MealPlanSystemMessageKindSchema
448
+ }).catchall(z5.unknown());
449
+ var MealPlanChatMessageListResponseSchema = z5.array(
450
+ z5.lazy(() => MealPlanChatMessageResponseSchema)
451
+ );
452
+ var MealPlanChatRoomSummarySchema = z5.object({
453
+ chatRoomId: MealPlanChatRoomIdSchema,
454
+ mealPlanId: MealPlanIdSchema,
455
+ messageCount: z5.number().int().min(0),
456
+ lastMessageAt: ISODateTimeStringSchema.nullable(),
457
+ createdAt: ISODateTimeStringSchema
458
+ });
459
+ var SendMealPlanChatMessageRequestSchema = z5.object({
460
+ message: z5.string().min(1).max(500)
461
+ });
462
+ var MealPlanChatMessageResponseSchema = z5.object({
463
+ messageId: MealPlanChatMessageIdSchema,
464
+ chatRoomId: MealPlanChatRoomIdSchema,
465
+ sender: MemberCoreSchema.nullable(),
466
+ guestId: z5.string().min(1).nullable(),
467
+ guestNickname: z5.string().min(1).nullable(),
468
+ kind: MealPlanChatMessageKindSchema,
469
+ message: z5.string().min(1).max(1e3),
470
+ systemPayload: MealPlanChatSystemPayloadSchema.nullable(),
471
+ createdAt: ISODateTimeStringSchema
472
+ });
473
+ var MealPlanSystemMessageSchema = z5.object({
474
+ kind: MealPlanSystemMessageKindSchema,
475
+ message: z5.string().min(1),
476
+ createdAt: ISODateTimeStringSchema
477
+ });
478
+
479
+ // src/domain/meal-plan/meal-plan.schema.ts
480
+ import { z as z6 } from "zod";
481
+ var MealPlanStatusSchema = z6.enum([
482
+ "DRAFT",
483
+ "RECOMMENDING",
484
+ "GATHERING",
485
+ "DECIDING",
486
+ "READY",
487
+ "CONFIRMED",
488
+ "LOCKED",
489
+ "COMPLETED",
490
+ "RECORDED",
491
+ "CANCELLED"
492
+ ]);
493
+ var MealPlanChannelSchema = z6.enum([
494
+ "OWNER_ONLY",
495
+ "FRIEND_INVITE",
496
+ "LINK_GUEST",
497
+ "NEARBY_FRIENDS"
498
+ ]);
499
+ var MealPlanRecommendationContextSchema = z6.object({
500
+ mealDate: ISODateStringSchema.optional(),
501
+ mealTime: TimeHHmmStringSchema.optional(),
502
+ area: MealPlanLocationCandidateSchema.optional(),
503
+ preferredMenuCategories: z6.array(z6.string().min(1)).default([]),
504
+ excludedMenuCategories: z6.array(z6.string().min(1)).default([]),
505
+ candidateMenuCategories: z6.array(z6.string().min(1)).default([]),
506
+ budgetMin: z6.number().int().min(0).optional(),
507
+ budgetMax: z6.number().int().min(0).optional(),
508
+ memo: z6.string().max(500).optional()
509
+ });
510
+ var CreateMealPlanRequestSchema = z6.object({
511
+ title: z6.string().min(1).max(100).optional(),
512
+ channels: z6.array(MealPlanChannelSchema).default(["OWNER_ONLY"]),
513
+ recommendationContext: MealPlanRecommendationContextSchema.optional()
514
+ });
515
+ var CreateMealPlanResponseSchema = z6.object({
516
+ mealPlanId: MealPlanIdSchema
517
+ });
518
+ var UpdateMealPlanContextRequestSchema = MealPlanRecommendationContextSchema.partial();
519
+ var MealPlanViewerRoleSchema = z6.enum([
520
+ "OWNER",
521
+ "FRIEND",
522
+ "GUEST",
523
+ "NONE"
524
+ ]);
525
+ var MealPlanViewerPermissionsSchema = z6.object({
526
+ canView: z6.boolean(),
527
+ canInviteFriends: z6.boolean(),
528
+ canManageParticipants: z6.boolean(),
529
+ canCreateShareLink: z6.boolean(),
530
+ canExposeNearbyFriends: z6.boolean(),
531
+ canVote: z6.boolean(),
532
+ canChat: z6.boolean(),
533
+ canReadyMealPlan: z6.boolean(),
534
+ canRequestChange: z6.boolean(),
535
+ canReopenDecisionTask: z6.boolean(),
536
+ canConfirmDecisionSnapshot: z6.boolean(),
537
+ canConfirmMealPlan: z6.boolean(),
538
+ canCompleteMealPlan: z6.boolean(),
539
+ canRecordMealPlan: z6.boolean(),
540
+ canCancelMealPlan: z6.boolean()
541
+ });
542
+ var MealPlanResponseSchema = z6.object({
543
+ mealPlanId: MealPlanIdSchema,
544
+ owner: MemberCoreSchema,
545
+ title: z6.string().nullable(),
546
+ status: MealPlanStatusSchema,
547
+ channels: z6.array(MealPlanChannelSchema),
548
+ participants: z6.array(MealPlanParticipantResponseSchema),
549
+ pendingInvites: z6.array(MealPlanInviteSummarySchema),
550
+ pendingJoinRequests: z6.array(MealPlanJoinRequestSummarySchema),
551
+ decisionStages: z6.array(MealPlanDecisionStageResponseSchema),
552
+ decisionProgress: MealPlanDecisionProgressSchema.nullable(),
553
+ viewerRole: MealPlanViewerRoleSchema,
554
+ viewerParticipantStatus: MealPlanParticipantStatusSchema.nullable(),
555
+ viewerPermissions: MealPlanViewerPermissionsSchema,
556
+ selectedDate: ISODateStringSchema.nullable(),
557
+ selectedTime: TimeHHmmStringSchema.nullable(),
558
+ selectedArea: MealPlanLocationCandidateSchema.nullable(),
559
+ selectedRestaurant: RestaurantSchema.nullable(),
560
+ selectedMenuCategory: z6.string().nullable(),
561
+ chatRoom: MealPlanChatRoomSummarySchema.nullable(),
562
+ confirmedAt: ISODateTimeStringSchema.nullable(),
563
+ lockedAt: ISODateTimeStringSchema.nullable(),
564
+ completedAt: ISODateTimeStringSchema.nullable(),
565
+ recordedAt: ISODateTimeStringSchema.nullable(),
566
+ createdAt: ISODateTimeStringSchema,
567
+ updatedAt: ISODateTimeStringSchema
568
+ });
569
+ var MyMealPlanGroupSchema = z6.enum(["DECIDING", "UPCOMING", "RECORD_NEEDED", "PAST"]);
570
+ var MyMealPlanListItemSchema = z6.object({
571
+ mealPlanId: MealPlanIdSchema,
572
+ group: MyMealPlanGroupSchema,
573
+ title: z6.string(),
574
+ status: MealPlanStatusSchema,
575
+ channels: z6.array(MealPlanChannelSchema),
576
+ participantCount: z6.number().int().min(1),
577
+ selectedDate: ISODateStringSchema.nullable(),
578
+ selectedTime: TimeHHmmStringSchema.nullable(),
579
+ selectedAreaName: z6.string().nullable(),
580
+ selectedRestaurantName: z6.string().nullable(),
581
+ primaryAction: z6.object({
582
+ label: z6.string(),
583
+ href: z6.string()
584
+ }),
585
+ updatedAt: ISODateTimeStringSchema
586
+ });
587
+ var MyMealPlanListResponseSchema = z6.object({
588
+ deciding: z6.array(MyMealPlanListItemSchema),
589
+ upcoming: z6.array(MyMealPlanListItemSchema),
590
+ recordNeeded: z6.array(MyMealPlanListItemSchema),
591
+ past: z6.array(MyMealPlanListItemSchema)
592
+ });
593
+ var MealPlanNotificationKindSchema = z6.enum([
594
+ "MEAL_PLAN_INVITE_RECEIVED",
595
+ "MEAL_PLAN_INVITE_ACCEPTED",
596
+ "MEAL_PLAN_JOIN_REQUESTED",
597
+ "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
598
+ "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
599
+ "MEAL_PLAN_PARTICIPANT_JOINED",
600
+ "MEAL_PLAN_READY_COMPLETED",
601
+ "MEAL_PLAN_CONFIRMED",
602
+ "MEAL_PLAN_LOCKED",
603
+ "MEAL_PLAN_RECORD_NEEDED"
604
+ ]);
605
+ var MealPlanNotificationPriorityChannelSchema = z6.enum([
606
+ "HOME",
607
+ "NOTIFICATION_INBOX",
608
+ "FCM_PUSH",
609
+ "LIVE_ACTIVITY"
610
+ ]);
611
+ var MealPlanLiveActivityBehaviorSchema = z6.enum([
612
+ "NONE",
613
+ "START_OR_UPDATE",
614
+ "UPDATE",
615
+ "END"
616
+ ]);
617
+ var MealPlanNotificationPriorityPolicyItemSchema = z6.object({
618
+ kind: MealPlanNotificationKindSchema,
619
+ priority: z6.number().int().min(0),
620
+ homePriority: z6.number().int().min(0),
621
+ inboxPriority: z6.number().int().min(0),
622
+ fcmPriority: z6.number().int().min(0),
623
+ liveActivityPriority: z6.number().int().min(0),
624
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema,
625
+ foregroundToast: z6.boolean()
626
+ });
627
+ var MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES = {
628
+ MEAL_PLAN_JOIN_REQUESTED: {
629
+ kind: "MEAL_PLAN_JOIN_REQUESTED",
630
+ priority: 5,
631
+ homePriority: 5,
632
+ inboxPriority: 5,
633
+ fcmPriority: 10,
634
+ liveActivityPriority: 80,
635
+ liveActivityBehavior: "NONE",
636
+ foregroundToast: true
637
+ },
638
+ MEAL_PLAN_INVITE_RECEIVED: {
639
+ kind: "MEAL_PLAN_INVITE_RECEIVED",
640
+ priority: 12,
641
+ homePriority: 12,
642
+ inboxPriority: 12,
643
+ fcmPriority: 15,
644
+ liveActivityPriority: 80,
645
+ liveActivityBehavior: "NONE",
646
+ foregroundToast: true
647
+ },
648
+ MEAL_PLAN_RECORD_NEEDED: {
649
+ kind: "MEAL_PLAN_RECORD_NEEDED",
650
+ priority: 18,
651
+ homePriority: 18,
652
+ inboxPriority: 18,
653
+ fcmPriority: 20,
654
+ liveActivityPriority: 60,
655
+ liveActivityBehavior: "END",
656
+ foregroundToast: true
657
+ },
658
+ MEAL_PLAN_LOCKED: {
659
+ kind: "MEAL_PLAN_LOCKED",
660
+ priority: 22,
661
+ homePriority: 22,
662
+ inboxPriority: 22,
663
+ fcmPriority: 8,
664
+ liveActivityPriority: 5,
665
+ liveActivityBehavior: "START_OR_UPDATE",
666
+ foregroundToast: true
667
+ },
668
+ MEAL_PLAN_CONFIRMED: {
669
+ kind: "MEAL_PLAN_CONFIRMED",
670
+ priority: 24,
671
+ homePriority: 24,
672
+ inboxPriority: 24,
673
+ fcmPriority: 12,
674
+ liveActivityPriority: 12,
675
+ liveActivityBehavior: "START_OR_UPDATE",
676
+ foregroundToast: true
677
+ },
678
+ MEAL_PLAN_NEARBY_FRIEND_EXPOSED: {
679
+ kind: "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
680
+ priority: 28,
681
+ homePriority: 28,
682
+ inboxPriority: 28,
683
+ fcmPriority: 24,
684
+ liveActivityPriority: 80,
685
+ liveActivityBehavior: "NONE",
686
+ foregroundToast: false
687
+ },
688
+ MEAL_PLAN_READY_COMPLETED: {
689
+ kind: "MEAL_PLAN_READY_COMPLETED",
690
+ priority: 32,
691
+ homePriority: 32,
692
+ inboxPriority: 32,
693
+ fcmPriority: 28,
694
+ liveActivityPriority: 20,
695
+ liveActivityBehavior: "UPDATE",
696
+ foregroundToast: false
697
+ },
698
+ MEAL_PLAN_JOIN_REQUEST_ACCEPTED: {
699
+ kind: "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
700
+ priority: 36,
701
+ homePriority: 36,
702
+ inboxPriority: 36,
703
+ fcmPriority: 30,
704
+ liveActivityPriority: 80,
705
+ liveActivityBehavior: "NONE",
706
+ foregroundToast: true
707
+ },
708
+ MEAL_PLAN_INVITE_ACCEPTED: {
709
+ kind: "MEAL_PLAN_INVITE_ACCEPTED",
710
+ priority: 40,
711
+ homePriority: 40,
712
+ inboxPriority: 40,
713
+ fcmPriority: 34,
714
+ liveActivityPriority: 80,
715
+ liveActivityBehavior: "NONE",
716
+ foregroundToast: true
717
+ },
718
+ MEAL_PLAN_PARTICIPANT_JOINED: {
719
+ kind: "MEAL_PLAN_PARTICIPANT_JOINED",
720
+ priority: 44,
721
+ homePriority: 44,
722
+ inboxPriority: 44,
723
+ fcmPriority: 38,
724
+ liveActivityPriority: 32,
725
+ liveActivityBehavior: "UPDATE",
726
+ foregroundToast: false
727
+ }
728
+ };
729
+ var MealPlanNotificationSchema = z6.object({
730
+ notificationId: z6.string().min(1),
731
+ kind: MealPlanNotificationKindSchema,
732
+ mealPlanId: MealPlanIdSchema,
733
+ deepLink: z6.string().min(1),
734
+ title: z6.string().min(1),
735
+ message: z6.string().min(1),
736
+ createdAt: ISODateTimeStringSchema,
737
+ readAt: ISODateTimeStringSchema.nullable()
738
+ });
739
+
740
+ export {
741
+ MealPlanLatitudeSchema,
742
+ MealPlanLongitudeSchema,
743
+ MealPlanLocationCandidateIdSchema,
744
+ MealPlanMenuCandidateIdSchema,
745
+ MealPlanDecisionStageIdSchema,
746
+ MealPlanVoteIdSchema,
747
+ MealPlanLocationCandidateSourceSchema,
748
+ MealPlanLocationCandidateSchema,
749
+ MealPlanMenuCandidateSourceSchema,
750
+ MealPlanMenuCandidateSchema,
751
+ MealPlanRestaurantCandidateSchema,
752
+ MealPlanDecisionStageTypeSchema,
753
+ MealPlanDecisionStageStatusSchema,
754
+ MealPlanRestaurantSearchStatusSchema,
755
+ MealPlanRestaurantSearchStateSchema,
756
+ MealPlanDecisionStageMetadataSchema,
757
+ MealPlanVoteTypeSchema,
758
+ MealPlanDecisionCandidateSchema,
759
+ MealPlanVoteSchema,
760
+ MealPlanDecisionStageResponseSchema,
761
+ CreateMealPlanVoteRequestSchema,
762
+ CompleteMealPlanDecisionStageRequestSchema,
763
+ MealPlanChangeRequestStatusSchema,
764
+ CreateMealPlanChangeRequestSchema,
765
+ MealPlanChangeRequestSummarySchema,
766
+ MealPlanDecisionTaskKeySchema,
767
+ MealPlanDecisionTaskStatusSchema,
768
+ MealPlanDecisionFinalFieldSchema,
769
+ MealPlanDecisionSnapshotStatusSchema,
770
+ MealPlanDecisionReasonSchema,
771
+ MealPlanDecisionActorTypeSchema,
772
+ MealPlanDecisionSnapshotSchema,
773
+ MealPlanDecisionTaskProgressSchema,
774
+ MealPlanDecisionProgressSchema,
775
+ ReopenMealPlanDecisionTaskRequestSchema,
776
+ ConfirmMealPlanDecisionSnapshotRequestSchema,
777
+ MealPlanParticipantIdSchema,
778
+ MealPlanParticipantRoleSchema,
779
+ MealPlanParticipantStatusSchema,
780
+ MealPlanJoinSourceSchema,
781
+ MealPlanGuestParticipantSchema,
782
+ MealPlanParticipantResponseSchema,
783
+ CreateMealPlanParticipantRequestSchema,
784
+ MealPlanInviteStatusSchema,
785
+ CreateMealPlanInviteRequestSchema,
786
+ MealPlanInviteSummarySchema,
787
+ MealPlanInviteListResponseSchema,
788
+ SendMealPlanInviteResponseSchema,
789
+ MealPlanNearbyFriendExposureIdSchema,
790
+ MealPlanNearbyFriendExposureStatusSchema,
791
+ MealPlanNearbyFriendExposureNotificationStatusSchema,
792
+ ExposeMealPlanToNearbyFriendsRequestSchema,
793
+ NearbyFriendExposureEligibilitySchema,
794
+ MealPlanNearbyFriendRejectionReasonSchema,
795
+ MealPlanNearbyFriendRejectionSummarySchema,
796
+ ExposeMealPlanToNearbyFriendsResponseSchema,
797
+ MealPlanNearbyFriendExposureSummarySchema,
798
+ MealPlanNearbyFriendExposureBatchSummarySchema,
799
+ MealPlanJoinRequestStatusSchema,
800
+ CreateMealPlanJoinRequestSchema,
801
+ MealPlanJoinRequestSummarySchema,
802
+ NearbyFriendMealPlanSummarySchema,
803
+ MealPlanChatMessageKindSchema,
804
+ MealPlanSystemMessageKindSchema,
805
+ MealPlanChatSystemPayloadSchema,
806
+ MealPlanChatMessageListResponseSchema,
807
+ MealPlanChatRoomSummarySchema,
808
+ SendMealPlanChatMessageRequestSchema,
809
+ MealPlanChatMessageResponseSchema,
810
+ MealPlanSystemMessageSchema,
811
+ MealPlanStatusSchema,
812
+ MealPlanChannelSchema,
813
+ MealPlanRecommendationContextSchema,
814
+ CreateMealPlanRequestSchema,
815
+ CreateMealPlanResponseSchema,
816
+ UpdateMealPlanContextRequestSchema,
817
+ MealPlanViewerRoleSchema,
818
+ MealPlanViewerPermissionsSchema,
819
+ MealPlanResponseSchema,
820
+ MyMealPlanGroupSchema,
821
+ MyMealPlanListItemSchema,
822
+ MyMealPlanListResponseSchema,
823
+ MealPlanNotificationKindSchema,
824
+ MealPlanNotificationPriorityChannelSchema,
825
+ MealPlanLiveActivityBehaviorSchema,
826
+ MealPlanNotificationPriorityPolicyItemSchema,
827
+ MEAL_PLAN_NOTIFICATION_PRIORITY_POLICIES,
828
+ MealPlanNotificationSchema
829
+ };