@kimdaegyu/babmukdang-shared 1.1.11 → 2.0.2

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