@kimdaegyu/babmukdang-shared 1.1.10 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/chunk-3BLXZW4U.js +338 -0
  2. package/dist/{chunk-AI2YMBJX.js → chunk-65DWKLP6.js} +18 -9
  3. package/dist/{chunk-H77ISYYC.js → chunk-6R5CCY5Q.js} +22 -8
  4. package/dist/{chunk-4E5E3PFW.js → chunk-DRCY5UNQ.js} +20 -7
  5. package/dist/chunk-EX7S5FI5.js +91 -0
  6. package/dist/{chunk-HRM3FQPL.js → chunk-EYZU5HPG.js} +4 -1
  7. package/dist/{chunk-OJVXYCSH.js → chunk-G7TITUHT.js} +1 -1
  8. package/dist/chunk-GESEM4IA.js +122 -0
  9. package/dist/chunk-IPANLE7B.js +632 -0
  10. package/dist/chunk-KREAZLLH.js +1062 -0
  11. package/dist/{chunk-K3CZKI2F.js → chunk-P3MYMK34.js} +24 -13
  12. package/dist/chunk-Q4BPFDVB.js +171 -0
  13. package/dist/{chunk-W4C7XHTX.js → chunk-QUAG5LF5.js} +13 -6
  14. package/dist/chunk-TIOX7OHA.js +863 -0
  15. package/dist/{chunk-GTVEQYJW.js → chunk-TOXRHSD6.js} +1 -1
  16. package/dist/chunk-YV734GYZ.js +165 -0
  17. package/dist/domain/article/index.cjs +107 -15
  18. package/dist/domain/article/index.d.cts +254 -0
  19. package/dist/domain/article/index.d.ts +254 -0
  20. package/dist/domain/article/index.js +5 -5
  21. package/dist/domain/auth/index.cjs +88 -9
  22. package/dist/domain/auth/index.d.cts +29 -0
  23. package/dist/domain/auth/index.d.ts +29 -0
  24. package/dist/domain/auth/index.js +3 -3
  25. package/dist/domain/common/index.cjs +2100 -395
  26. package/dist/domain/common/index.d.cts +328 -0
  27. package/dist/domain/common/index.d.ts +328 -0
  28. package/dist/domain/common/index.js +65 -31
  29. package/dist/domain/food/index.cjs +248 -0
  30. package/dist/domain/food/index.d.cts +321 -0
  31. package/dist/domain/food/index.d.ts +321 -0
  32. package/dist/domain/food/index.js +44 -0
  33. package/dist/domain/friend/index.cjs +108 -12
  34. package/dist/domain/friend/index.d.cts +72 -0
  35. package/dist/domain/friend/index.d.ts +72 -0
  36. package/dist/domain/friend/index.js +6 -4
  37. package/dist/domain/index.cjs +2736 -522
  38. package/dist/domain/index.d.cts +576 -0
  39. package/dist/domain/index.d.ts +576 -0
  40. package/dist/domain/index.js +429 -140
  41. package/dist/domain/live-activity/index.cjs +1061 -0
  42. package/dist/domain/live-activity/index.d.cts +177 -0
  43. package/dist/domain/live-activity/index.d.ts +177 -0
  44. package/dist/domain/live-activity/index.js +27 -0
  45. package/dist/domain/meal/index.cjs +101 -12
  46. package/dist/domain/meal/index.d.cts +47 -0
  47. package/dist/domain/meal/index.d.ts +47 -0
  48. package/dist/domain/meal/index.js +4 -4
  49. package/dist/domain/meal-plan/index.cjs +1504 -0
  50. package/dist/domain/meal-plan/index.d.cts +4424 -0
  51. package/dist/domain/meal-plan/index.d.ts +4424 -0
  52. package/dist/domain/meal-plan/index.js +256 -0
  53. package/dist/domain/member/index.cjs +114 -9
  54. package/dist/domain/member/index.d.cts +330 -0
  55. package/dist/domain/member/index.d.ts +330 -0
  56. package/dist/domain/member/index.js +26 -2
  57. package/dist/domain/promotion/index.cjs +26 -8
  58. package/dist/domain/promotion/index.d.cts +81 -0
  59. package/dist/domain/promotion/index.d.ts +81 -0
  60. package/dist/domain/promotion/index.js +3 -3
  61. package/dist/domain/push/index.cjs +1004 -0
  62. package/dist/domain/push/index.d.cts +169 -0
  63. package/dist/domain/push/index.d.ts +169 -0
  64. package/dist/domain/push/index.js +35 -0
  65. package/dist/domain/restaurant/index.cjs +10 -4
  66. package/dist/domain/restaurant/index.d.cts +34 -0
  67. package/dist/domain/restaurant/index.d.ts +34 -0
  68. package/dist/domain/restaurant/index.js +2 -2
  69. package/dist/index.cjs +2533 -640
  70. package/dist/index.d.cts +14 -0
  71. package/dist/index.d.ts +14 -0
  72. package/dist/index.js +16 -191
  73. package/package.json +52 -55
  74. package/dist/chunk-PFSZSKD5.js +0 -0
  75. package/dist/chunk-PQMEXOPZ.js +0 -232
  76. package/dist/chunk-W4TUW2GY.js +0 -40
  77. package/dist/chunk-WNYCCQM4.js +0 -342
  78. package/dist/chunk-YGFAVC5N.js +0 -34
  79. package/dist/chunk-YM7YU7IR.js +0 -319
  80. package/dist/chunk-ZH7D7B2Y.js +0 -78
  81. package/dist/domain/invitation/index.cjs +0 -82
  82. package/dist/domain/invitation/index.js +0 -13
  83. package/dist/domain/plan/index.cjs +0 -327
  84. package/dist/domain/plan/index.js +0 -18
  85. package/dist/domain/recruit/index.cjs +0 -189
  86. package/dist/domain/recruit/index.js +0 -30
  87. package/dist/domain/room/index.cjs +0 -401
  88. package/dist/domain/room/index.js +0 -82
@@ -0,0 +1,1004 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/domain/push/index.ts
31
+ var push_exports = {};
32
+ __export(push_exports, {
33
+ MealPlanPushPayloadDataSchema: () => MealPlanPushPayloadDataSchema,
34
+ PushDeliveryAttemptResultSchema: () => PushDeliveryAttemptResultSchema,
35
+ PushDeliveryAttemptSummarySchema: () => PushDeliveryAttemptSummarySchema,
36
+ PushDeliveryOutboxSummarySchema: () => PushDeliveryOutboxSummarySchema,
37
+ PushDeliveryStatusSchema: () => PushDeliveryStatusSchema,
38
+ PushPayloadSchemaVersionSchema: () => PushPayloadSchemaVersionSchema,
39
+ PushPermissionStatusSchema: () => PushPermissionStatusSchema,
40
+ PushPlatformSchema: () => PushPlatformSchema,
41
+ PushProviderSchema: () => PushProviderSchema,
42
+ PushTokenResponseSchema: () => PushTokenResponseSchema,
43
+ PushTokenStatusSchema: () => PushTokenStatusSchema,
44
+ RegisterPushTokenRequestSchema: () => RegisterPushTokenRequestSchema,
45
+ RevokePushTokenRequestSchema: () => RevokePushTokenRequestSchema
46
+ });
47
+ module.exports = __toCommonJS(push_exports);
48
+
49
+ // src/domain/push/push.schema.ts
50
+ var import_zod12 = require("zod");
51
+
52
+ // src/domain/common/schema/date.schema.ts
53
+ var import_zod = require("zod");
54
+ var isoDateRegex = /^\d{4}-\d{2}-\d{2}$/;
55
+ var ISODateStringSchema = import_zod.z.string().regex(isoDateRegex, "Expected ISO date string in YYYY-MM-DD format");
56
+ var ISODateTimeStringSchema = import_zod.z.string().datetime({
57
+ offset: true,
58
+ message: "Expected ISO datetime string"
59
+ });
60
+ var TimeHHmmStringSchema = import_zod.z.string().regex(/^\d{2}:\d{2}$/, "Expected time string in HH:mm format");
61
+
62
+ // src/domain/common/schema/id.schema.ts
63
+ var import_zod2 = require("zod");
64
+ var PositiveIntIdSchema = import_zod2.z.number().int().positive();
65
+ var NonEmptyStringIdSchema = import_zod2.z.string().min(1);
66
+ var MemberIdSchema = PositiveIntIdSchema.brand();
67
+ var ArticleIdSchema = PositiveIntIdSchema.brand();
68
+ var CommentIdSchema = PositiveIntIdSchema.brand();
69
+ var MealPlanIdSchema = import_zod2.z.string().uuid().brand();
70
+ var MealPlanInviteIdSchema = import_zod2.z.string().uuid().brand();
71
+ var MealPlanJoinRequestIdSchema = import_zod2.z.string().uuid().brand();
72
+ var MealPlanNearbyFriendExposureBatchIdSchema = import_zod2.z.string().uuid().brand();
73
+ var MealPlanChangeRequestIdSchema = import_zod2.z.string().uuid().brand();
74
+ var MealPlanShareLinkIdSchema = import_zod2.z.string().uuid().brand();
75
+ var MealPlanShareLinkTokenSchema = import_zod2.z.string().min(8).max(128).brand();
76
+ var MealPlanChatRoomIdSchema = import_zod2.z.string().uuid().brand();
77
+ var MealPlanChatMessageIdSchema = import_zod2.z.string().uuid().brand();
78
+ var MealGroupIdSchema = import_zod2.z.string().uuid().brand();
79
+ var RestaurantIdSchema = NonEmptyStringIdSchema.brand();
80
+ var CouponIdSchema = PositiveIntIdSchema.brand();
81
+ var SubscriptionIdSchema = PositiveIntIdSchema.brand();
82
+ var FriendRequestIdSchema = PositiveIntIdSchema.brand();
83
+ var ReferralCodeSchema = import_zod2.z.string().min(4).max(64).brand();
84
+ var FoodCodeSchema = NonEmptyStringIdSchema.brand();
85
+ var FoodLabelSchema = NonEmptyStringIdSchema.brand();
86
+ var FoodSchema = import_zod2.z.object({
87
+ code: FoodCodeSchema,
88
+ label: FoodLabelSchema
89
+ });
90
+
91
+ // src/domain/meal-plan/meal-plan.schema.ts
92
+ var import_zod11 = require("zod");
93
+
94
+ // src/domain/member/member.schema.ts
95
+ var import_zod4 = require("zod");
96
+
97
+ // src/domain/common/contracts/upload.ts
98
+ var import_zod3 = __toESM(require("zod"), 1);
99
+ var UploadPresignImageResponseSchema = import_zod3.default.object({
100
+ key: import_zod3.default.string(),
101
+ putUrl: import_zod3.default.string().url(),
102
+ cdnUrl: import_zod3.default.string().url()
103
+ });
104
+ var UploadPresignImageRequestSchema = import_zod3.default.object({
105
+ contentType: import_zod3.default.string()
106
+ });
107
+
108
+ // src/domain/member/member.schema.ts
109
+ var MemberRoleSchema = import_zod4.z.enum([
110
+ "USER",
111
+ "ADMIN"
112
+ ]);
113
+ var LocationConsentStatusSchema = import_zod4.z.enum([
114
+ "UNKNOWN",
115
+ "GRANTED",
116
+ "DENIED"
117
+ ]);
118
+ var OnboardingStatusSchema = import_zod4.z.enum([
119
+ "REQUIRED",
120
+ "COMPLETED"
121
+ ]);
122
+ var PermissionKindSchema = import_zod4.z.enum([
123
+ "LOCATION",
124
+ "NOTIFICATION",
125
+ "CAMERA"
126
+ ]);
127
+ var PermissionStatusSchema = import_zod4.z.enum([
128
+ "UNKNOWN",
129
+ "PROMPT",
130
+ "GRANTED",
131
+ "DENIED",
132
+ "LIMITED",
133
+ "UNSUPPORTED"
134
+ ]);
135
+ var PermissionPlatformSchema = import_zod4.z.enum([
136
+ "WEB",
137
+ "IOS",
138
+ "ANDROID",
139
+ "UNKNOWN"
140
+ ]);
141
+ var DevicePermissionSnapshotSchema = import_zod4.z.object({
142
+ kind: PermissionKindSchema,
143
+ status: PermissionStatusSchema,
144
+ platform: PermissionPlatformSchema.default("UNKNOWN"),
145
+ canAskAgain: import_zod4.z.boolean().optional(),
146
+ checkedAt: import_zod4.z.string().datetime()
147
+ });
148
+ var MemberLocationSchema = import_zod4.z.object({
149
+ latitude: import_zod4.z.number().min(-90).max(90),
150
+ longitude: import_zod4.z.number().min(-180).max(180),
151
+ accuracyMeters: import_zod4.z.number().min(0).nullable().optional(),
152
+ capturedAt: import_zod4.z.string().datetime()
153
+ });
154
+ var UpdateMemberLocationConsentRequestSchema = import_zod4.z.object({
155
+ locationConsentStatus: LocationConsentStatusSchema,
156
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().default(false),
157
+ mealSuggestionAllowed: import_zod4.z.boolean().optional(),
158
+ permissionSnapshot: DevicePermissionSnapshotSchema.optional()
159
+ });
160
+ var MemberLocationSettingsResponseSchema = import_zod4.z.object({
161
+ locationConsentStatus: LocationConsentStatusSchema,
162
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean(),
163
+ mealSuggestionAllowed: import_zod4.z.boolean(),
164
+ lastKnownLocation: MemberLocationSchema.nullable(),
165
+ permissionSnapshot: DevicePermissionSnapshotSchema.nullable().optional(),
166
+ updatedAt: import_zod4.z.string().datetime().nullable()
167
+ });
168
+ var MemberCoreSchema = import_zod4.z.object({
169
+ memberId: MemberIdSchema,
170
+ username: import_zod4.z.string().min(1).max(50),
171
+ profileImageUrl: import_zod4.z.string().url().nullable().optional()
172
+ });
173
+ var UploadProfileImageResponseSchema = UploadPresignImageResponseSchema.extend({});
174
+ var UploadProfileImageRequestSchema = UploadPresignImageRequestSchema.extend({});
175
+ var MemberResponseSchema = MemberCoreSchema.pick({
176
+ memberId: true,
177
+ username: true,
178
+ profileImageUrl: true
179
+ }).extend({
180
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
181
+ onboardingCompletedAt: import_zod4.z.string().datetime().nullable().default(null),
182
+ locationConsentStatus: LocationConsentStatusSchema.optional(),
183
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().optional()
184
+ });
185
+ var MemberSearchQuerySchema = import_zod4.z.object({
186
+ email: import_zod4.z.string().email().optional(),
187
+ username: import_zod4.z.string().optional()
188
+ });
189
+ var MemberSerachResponseSchema = import_zod4.z.array(MemberCoreSchema);
190
+ var MemberDetailSchema = MemberCoreSchema.extend({
191
+ bio: import_zod4.z.string().nullable(),
192
+ friendConunt: import_zod4.z.number().int().min(0).default(0),
193
+ completedPlans: import_zod4.z.number().int().min(0).default(0),
194
+ uncompletedPlans: import_zod4.z.number().int().min(0).default(0),
195
+ onboardingStatus: OnboardingStatusSchema.default("REQUIRED"),
196
+ onboardingCompletedAt: import_zod4.z.string().datetime().nullable().default(null),
197
+ locationConsentStatus: LocationConsentStatusSchema.default("UNKNOWN"),
198
+ nearbyMealPlanExposureAllowed: import_zod4.z.boolean().default(false)
199
+ });
200
+ var FoodPreferenceItemSchema = FoodSchema.extend({});
201
+ var MemberFoodPreferenceSchema = import_zod4.z.object({
202
+ liked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
203
+ disliked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
204
+ allergy: import_zod4.z.array(FoodPreferenceItemSchema).optional()
205
+ });
206
+ var UpdateProfileRequestSchema = import_zod4.z.object({
207
+ username: import_zod4.z.string().min(1).max(50),
208
+ profileImageUrl: import_zod4.z.string().url().nullable(),
209
+ bio: import_zod4.z.string().max(500).nullable()
210
+ });
211
+ var UpdatePreferenceRequestSchema = MemberFoodPreferenceSchema;
212
+ var CompleteOnboardingRequestSchema = UpdateProfileRequestSchema.merge(UpdatePreferenceRequestSchema);
213
+ var OnboardingDraftSchema = import_zod4.z.object({
214
+ username: import_zod4.z.string().min(1).max(50).optional(),
215
+ profileImageUrl: import_zod4.z.string().url().nullable().optional(),
216
+ bio: import_zod4.z.string().max(500).nullable().optional(),
217
+ liked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
218
+ disliked: import_zod4.z.array(FoodPreferenceItemSchema).optional(),
219
+ allergy: import_zod4.z.array(FoodPreferenceItemSchema).optional()
220
+ });
221
+
222
+ // src/domain/restaurant/restaurant.schema.ts
223
+ var import_zod5 = require("zod");
224
+ var RestaurantSchema = import_zod5.z.object({
225
+ restaurantId: RestaurantIdSchema,
226
+ placeName: import_zod5.z.string(),
227
+ categoryName: import_zod5.z.string(),
228
+ categoryGroupName: import_zod5.z.string(),
229
+ distance: import_zod5.z.string().optional(),
230
+ roadAddressName: import_zod5.z.string(),
231
+ addressName: import_zod5.z.string(),
232
+ phone: import_zod5.z.string().nullable(),
233
+ placeUrl: import_zod5.z.string().url().nullable(),
234
+ lat: import_zod5.z.number(),
235
+ lng: import_zod5.z.number()
236
+ });
237
+ var KakaoPlaceRawSchema = import_zod5.z.object({
238
+ id: RestaurantIdSchema,
239
+ place_name: import_zod5.z.string(),
240
+ category_name: import_zod5.z.string(),
241
+ category_group_name: import_zod5.z.string(),
242
+ distance: import_zod5.z.string(),
243
+ road_address_name: import_zod5.z.string(),
244
+ address_name: import_zod5.z.string(),
245
+ phone: import_zod5.z.string(),
246
+ place_url: import_zod5.z.string().url().optional(),
247
+ lat: import_zod5.z.number(),
248
+ lng: import_zod5.z.number()
249
+ });
250
+
251
+ // src/domain/meal-plan/meal-plan-decision.schema.ts
252
+ var import_zod6 = require("zod");
253
+ var MealPlanLatitudeSchema = import_zod6.z.number().brand();
254
+ var MealPlanLongitudeSchema = import_zod6.z.number().brand();
255
+ var MealPlanLocationCandidateIdSchema = import_zod6.z.string().min(1).brand();
256
+ var MealPlanMenuCandidateIdSchema = import_zod6.z.string().min(1).brand();
257
+ var MealPlanDecisionStageIdSchema = import_zod6.z.string().uuid().brand();
258
+ var MealPlanVoteIdSchema = import_zod6.z.string().uuid().brand();
259
+ var MealPlanLocationCandidateSourceSchema = import_zod6.z.enum([
260
+ "manual",
261
+ "midpoint",
262
+ "search",
263
+ "recent-place",
264
+ "fallback"
265
+ ]);
266
+ var MealPlanLocationCandidateSchema = import_zod6.z.object({
267
+ locationId: MealPlanLocationCandidateIdSchema,
268
+ placeName: import_zod6.z.string().min(1),
269
+ lat: MealPlanLatitudeSchema,
270
+ lng: MealPlanLongitudeSchema,
271
+ address: import_zod6.z.string().default(""),
272
+ source: MealPlanLocationCandidateSourceSchema.default("manual"),
273
+ createdBy: MemberIdSchema.optional(),
274
+ createdAt: ISODateTimeStringSchema.optional()
275
+ });
276
+ var MealPlanMenuCandidateSourceSchema = import_zod6.z.enum([
277
+ "external-recommendation",
278
+ "prefer-menu",
279
+ "recent-menu",
280
+ "fallback",
281
+ "manual-search"
282
+ ]);
283
+ var MealPlanMenuCandidateSchema = import_zod6.z.object({
284
+ menuCandidateId: MealPlanMenuCandidateIdSchema,
285
+ menu: FoodSchema,
286
+ source: MealPlanMenuCandidateSourceSchema,
287
+ score: import_zod6.z.number().default(0),
288
+ createdAt: ISODateTimeStringSchema
289
+ });
290
+ var MealPlanRestaurantCandidateSchema = RestaurantSchema.extend({
291
+ candidateId: RestaurantIdSchema.optional(),
292
+ source: import_zod6.z.enum([
293
+ "search",
294
+ "fallback",
295
+ "manual"
296
+ ]).optional(),
297
+ createdAt: ISODateTimeStringSchema.optional()
298
+ });
299
+ var MealPlanDecisionStageTypeSchema = import_zod6.z.enum([
300
+ "DATE",
301
+ "TIME",
302
+ "AREA",
303
+ "MENU",
304
+ "RESTAURANT",
305
+ "FINAL_CONFIRMATION"
306
+ ]);
307
+ var MealPlanDecisionStageStatusSchema = import_zod6.z.enum([
308
+ "OPEN",
309
+ "COMPLETED",
310
+ "REOPENED"
311
+ ]);
312
+ var MealPlanRestaurantSearchStatusSchema = import_zod6.z.enum([
313
+ "IDLE",
314
+ "PENDING",
315
+ "READY",
316
+ "FAILED",
317
+ "STALE"
318
+ ]);
319
+ var MealPlanRestaurantSearchStateSchema = import_zod6.z.object({
320
+ searchKey: import_zod6.z.string().min(1).nullable(),
321
+ status: MealPlanRestaurantSearchStatusSchema,
322
+ startedAt: ISODateTimeStringSchema.nullable(),
323
+ completedAt: ISODateTimeStringSchema.nullable(),
324
+ version: import_zod6.z.number().int().min(0),
325
+ candidateCount: import_zod6.z.number().int().min(0),
326
+ errorMessage: import_zod6.z.string().nullable().default(null)
327
+ });
328
+ var MealPlanDecisionStageMetadataSchema = import_zod6.z.object({
329
+ restaurantSearch: MealPlanRestaurantSearchStateSchema.optional()
330
+ }).catchall(import_zod6.z.unknown());
331
+ var MealPlanVoteTypeSchema = import_zod6.z.enum([
332
+ "PICK",
333
+ "EXCLUDE",
334
+ "PREFER",
335
+ "READY"
336
+ ]);
337
+ var MealPlanDecisionCandidateSchema = import_zod6.z.discriminatedUnion("stageType", [
338
+ import_zod6.z.object({
339
+ stageType: import_zod6.z.literal("DATE"),
340
+ value: ISODateStringSchema
341
+ }),
342
+ import_zod6.z.object({
343
+ stageType: import_zod6.z.literal("TIME"),
344
+ value: TimeHHmmStringSchema
345
+ }),
346
+ import_zod6.z.object({
347
+ stageType: import_zod6.z.literal("AREA"),
348
+ value: MealPlanLocationCandidateSchema
349
+ }),
350
+ import_zod6.z.object({
351
+ stageType: import_zod6.z.literal("MENU"),
352
+ value: MealPlanMenuCandidateSchema
353
+ }),
354
+ import_zod6.z.object({
355
+ stageType: import_zod6.z.literal("RESTAURANT"),
356
+ value: MealPlanRestaurantCandidateSchema
357
+ }),
358
+ import_zod6.z.object({
359
+ stageType: import_zod6.z.literal("FINAL_CONFIRMATION"),
360
+ value: import_zod6.z.literal("READY")
361
+ })
362
+ ]);
363
+ var MealPlanVoteSchema = import_zod6.z.object({
364
+ voteId: MealPlanVoteIdSchema,
365
+ voterId: MemberIdSchema.nullable(),
366
+ guestId: import_zod6.z.string().min(1).nullable(),
367
+ voteType: MealPlanVoteTypeSchema,
368
+ candidate: MealPlanDecisionCandidateSchema,
369
+ createdAt: ISODateTimeStringSchema
370
+ });
371
+ var MealPlanDecisionStageResponseSchema = import_zod6.z.object({
372
+ stageId: MealPlanDecisionStageIdSchema,
373
+ stageType: MealPlanDecisionStageTypeSchema,
374
+ status: MealPlanDecisionStageStatusSchema,
375
+ candidates: import_zod6.z.array(MealPlanDecisionCandidateSchema),
376
+ votes: import_zod6.z.array(MealPlanVoteSchema),
377
+ selectedCandidate: MealPlanDecisionCandidateSchema.nullable(),
378
+ metadata: MealPlanDecisionStageMetadataSchema.nullable().default(null),
379
+ openedAt: ISODateTimeStringSchema,
380
+ completedAt: ISODateTimeStringSchema.nullable(),
381
+ reopenedAt: ISODateTimeStringSchema.nullable()
382
+ });
383
+ var CreateMealPlanVoteRequestSchema = import_zod6.z.object({
384
+ voteType: MealPlanVoteTypeSchema,
385
+ candidate: MealPlanDecisionCandidateSchema
386
+ });
387
+ var CompleteMealPlanDecisionStageRequestSchema = import_zod6.z.object({
388
+ selectedCandidate: MealPlanDecisionCandidateSchema
389
+ });
390
+ var MealPlanChangeRequestStatusSchema = import_zod6.z.enum([
391
+ "PENDING",
392
+ "ACCEPTED",
393
+ "REJECTED",
394
+ "CANCELLED"
395
+ ]);
396
+ var CreateMealPlanChangeRequestSchema = import_zod6.z.object({
397
+ stageType: MealPlanDecisionStageTypeSchema,
398
+ reason: import_zod6.z.string().min(1).max(500),
399
+ proposedCandidate: MealPlanDecisionCandidateSchema.optional()
400
+ });
401
+ var MealPlanChangeRequestSummarySchema = import_zod6.z.object({
402
+ changeRequestId: MealPlanChangeRequestIdSchema,
403
+ stageType: MealPlanDecisionStageTypeSchema,
404
+ status: MealPlanChangeRequestStatusSchema,
405
+ reason: import_zod6.z.string(),
406
+ requestedAt: ISODateTimeStringSchema
407
+ });
408
+ var MealPlanDecisionTaskKeySchema = import_zod6.z.enum([
409
+ "SCHEDULE_DATE",
410
+ "SCHEDULE_TIME",
411
+ "LOCATION_CANDIDATE",
412
+ "LOCATION_VOTE",
413
+ "EXCLUDE_MENU",
414
+ "PREFER_MENU",
415
+ "MENU_PICK",
416
+ "RESTAURANT_SEARCH",
417
+ "RESTAURANT_PICK",
418
+ "FINAL_CONFIRMATION"
419
+ ]);
420
+ var MealPlanDecisionTaskStatusSchema = import_zod6.z.enum([
421
+ "LOCKED",
422
+ "OPEN",
423
+ "READY",
424
+ "RESOLVED",
425
+ "STALE"
426
+ ]);
427
+ var MealPlanDecisionFinalFieldSchema = import_zod6.z.enum([
428
+ "date",
429
+ "time",
430
+ "meetingAt",
431
+ "area",
432
+ "menu",
433
+ "restaurant"
434
+ ]);
435
+ var MealPlanDecisionSnapshotStatusSchema = import_zod6.z.enum([
436
+ "CANDIDATE",
437
+ "PROVISIONAL",
438
+ "FINAL",
439
+ "STALE"
440
+ ]);
441
+ var MealPlanDecisionReasonSchema = import_zod6.z.enum([
442
+ "COMMON_SCHEDULE",
443
+ "TOP_VOTED_LOCATION",
444
+ "TOP_PICKED_MENU",
445
+ "TOP_PICKED_RESTAURANT",
446
+ "OWNER_CONFIRMED",
447
+ "TASK_ALL_READY",
448
+ "MANUAL_SELECTION"
449
+ ]);
450
+ var MealPlanDecisionActorTypeSchema = import_zod6.z.enum([
451
+ "MEMBER",
452
+ "GUEST",
453
+ "SYSTEM"
454
+ ]);
455
+ var MealPlanDecisionSnapshotSchema = import_zod6.z.object({
456
+ snapshotId: import_zod6.z.string().uuid(),
457
+ mealPlanId: import_zod6.z.string().uuid(),
458
+ field: MealPlanDecisionFinalFieldSchema,
459
+ value: import_zod6.z.unknown(),
460
+ status: MealPlanDecisionSnapshotStatusSchema,
461
+ reason: MealPlanDecisionReasonSchema,
462
+ score: import_zod6.z.number().nullable().default(null),
463
+ sourceEvent: import_zod6.z.string().min(1),
464
+ sourceActorType: MealPlanDecisionActorTypeSchema,
465
+ sourceMemberId: MemberIdSchema.nullable(),
466
+ sourceGuestId: import_zod6.z.string().min(1).nullable(),
467
+ sourceParticipantId: import_zod6.z.string().uuid().nullable(),
468
+ sourceVersion: import_zod6.z.number().int().min(0),
469
+ dependencyHash: import_zod6.z.string().min(1),
470
+ dependencyFields: import_zod6.z.array(MealPlanDecisionFinalFieldSchema),
471
+ createdAt: ISODateTimeStringSchema,
472
+ staleAt: ISODateTimeStringSchema.nullable()
473
+ });
474
+ var MealPlanDecisionTaskProgressSchema = import_zod6.z.object({
475
+ taskKey: MealPlanDecisionTaskKeySchema,
476
+ status: MealPlanDecisionTaskStatusSchema,
477
+ readyCount: import_zod6.z.number().int().min(0),
478
+ participantCount: import_zod6.z.number().int().min(0),
479
+ blockers: import_zod6.z.array(import_zod6.z.string()).default([]),
480
+ updatedAt: ISODateTimeStringSchema
481
+ });
482
+ var MealPlanDecisionProgressSchema = import_zod6.z.object({
483
+ mealPlanId: import_zod6.z.string().uuid(),
484
+ status: import_zod6.z.string().min(1),
485
+ tasks: import_zod6.z.array(MealPlanDecisionTaskProgressSchema),
486
+ final: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.unknown()),
487
+ provisional: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.unknown()),
488
+ snapshots: import_zod6.z.array(MealPlanDecisionSnapshotSchema),
489
+ version: import_zod6.z.number().int().min(0),
490
+ updatedAt: ISODateTimeStringSchema
491
+ });
492
+ var MealPlanDecisionTaskReadyRequestSchema = import_zod6.z.object({
493
+ isReady: import_zod6.z.boolean()
494
+ });
495
+ var ReopenMealPlanDecisionTaskRequestSchema = import_zod6.z.object({
496
+ reason: import_zod6.z.string().max(500).optional()
497
+ });
498
+ var ConfirmMealPlanDecisionSnapshotRequestSchema = import_zod6.z.object({
499
+ snapshotId: import_zod6.z.string().uuid()
500
+ });
501
+
502
+ // src/domain/meal-plan/meal-plan-participant.schema.ts
503
+ var import_zod7 = require("zod");
504
+ var MealPlanParticipantIdSchema = import_zod7.z.string().uuid().brand();
505
+ var MealPlanParticipantRoleSchema = import_zod7.z.enum([
506
+ "OWNER",
507
+ "FRIEND",
508
+ "GUEST"
509
+ ]);
510
+ var MealPlanParticipantStatusSchema = import_zod7.z.enum([
511
+ "INVITED",
512
+ "REQUESTED",
513
+ "JOINED",
514
+ "READY",
515
+ "DECLINED",
516
+ "LEFT",
517
+ "REMOVED"
518
+ ]);
519
+ var MealPlanJoinSourceSchema = import_zod7.z.enum([
520
+ "OWNER",
521
+ "FRIEND_INVITE",
522
+ "LINK_GUEST",
523
+ "NEARBY_FRIENDS"
524
+ ]);
525
+ var MealPlanGuestParticipantSchema = import_zod7.z.object({
526
+ guestId: import_zod7.z.string().min(1),
527
+ nickname: import_zod7.z.string().min(1).max(50)
528
+ });
529
+ var MealPlanParticipantResponseSchema = import_zod7.z.object({
530
+ participantId: MealPlanParticipantIdSchema,
531
+ mealPlanId: MealPlanIdSchema,
532
+ member: MemberCoreSchema.nullable(),
533
+ guest: MealPlanGuestParticipantSchema.nullable(),
534
+ role: MealPlanParticipantRoleSchema,
535
+ status: MealPlanParticipantStatusSchema,
536
+ source: MealPlanJoinSourceSchema,
537
+ joinedAt: ISODateTimeStringSchema.nullable(),
538
+ readyAt: ISODateTimeStringSchema.nullable()
539
+ });
540
+ var CreateMealPlanParticipantRequestSchema = import_zod7.z.object({
541
+ memberId: MemberIdSchema.optional(),
542
+ guestNickname: import_zod7.z.string().min(1).max(50).optional(),
543
+ source: MealPlanJoinSourceSchema
544
+ });
545
+
546
+ // src/domain/meal-plan/meal-plan-invite.schema.ts
547
+ var import_zod8 = require("zod");
548
+ var MealPlanInviteStatusSchema = import_zod8.z.enum([
549
+ "PENDING",
550
+ "ACCEPTED",
551
+ "DECLINED",
552
+ "CANCELLED",
553
+ "EXPIRED"
554
+ ]);
555
+ var CreateMealPlanInviteRequestSchema = import_zod8.z.object({
556
+ inviteeId: MemberIdSchema,
557
+ message: import_zod8.z.string().max(500).default("")
558
+ });
559
+ var MealPlanInviteSummarySchema = import_zod8.z.object({
560
+ inviteId: MealPlanInviteIdSchema,
561
+ mealPlanId: MealPlanIdSchema,
562
+ inviter: MemberCoreSchema,
563
+ invitee: MemberCoreSchema,
564
+ status: MealPlanInviteStatusSchema,
565
+ message: import_zod8.z.string().max(500),
566
+ createdAt: ISODateTimeStringSchema,
567
+ respondedAt: ISODateTimeStringSchema.nullable()
568
+ });
569
+ var MealPlanInviteListResponseSchema = import_zod8.z.array(MealPlanInviteSummarySchema);
570
+ var SendMealPlanInviteResponseSchema = import_zod8.z.object({
571
+ inviteId: MealPlanInviteIdSchema
572
+ });
573
+
574
+ // src/domain/meal-plan/meal-plan-nearby-friend.schema.ts
575
+ var import_zod9 = require("zod");
576
+ var MealPlanNearbyFriendExposureIdSchema = import_zod9.z.string().uuid().brand();
577
+ var MealPlanNearbyFriendExposureStatusSchema = import_zod9.z.enum([
578
+ "OPEN",
579
+ "CLOSED",
580
+ "EXPIRED"
581
+ ]);
582
+ var MealPlanNearbyFriendExposureNotificationStatusSchema = import_zod9.z.enum([
583
+ "PENDING",
584
+ "SENT",
585
+ "PARTIAL",
586
+ "FAILED",
587
+ "SKIPPED"
588
+ ]);
589
+ var ExposeMealPlanToNearbyFriendsRequestSchema = import_zod9.z.object({
590
+ radiusMeters: import_zod9.z.number().int().min(100).max(5e3).default(1e3),
591
+ expiresAt: ISODateTimeStringSchema.optional()
592
+ });
593
+ var NearbyFriendExposureEligibilitySchema = import_zod9.z.object({
594
+ canExpose: import_zod9.z.boolean(),
595
+ locationConsentStatus: LocationConsentStatusSchema,
596
+ nearbyMealPlanExposureAllowed: import_zod9.z.boolean(),
597
+ mealSuggestionAllowed: import_zod9.z.boolean(),
598
+ hasLastKnownLocation: import_zod9.z.boolean(),
599
+ missingRequirements: import_zod9.z.array(import_zod9.z.enum([
600
+ "LOCATION_PERMISSION",
601
+ "SERVICE_LOCATION_CONSENT",
602
+ "NEARBY_EXPOSURE_TOGGLE",
603
+ "MEAL_SUGGESTION_TOGGLE",
604
+ "LAST_KNOWN_LOCATION"
605
+ ]))
606
+ });
607
+ var MealPlanNearbyFriendRejectionReasonSchema = import_zod9.z.enum([
608
+ "NOT_FRIEND",
609
+ "BLOCKED",
610
+ "LOCATION_CONSENT_REQUIRED",
611
+ "LOCATION_UNAVAILABLE",
612
+ "OUT_OF_RADIUS",
613
+ "MEAL_SUGGESTION_DISABLED",
614
+ "NOT_HUNGRY"
615
+ ]);
616
+ var MealPlanNearbyFriendRejectionSummarySchema = import_zod9.z.object({
617
+ reason: MealPlanNearbyFriendRejectionReasonSchema,
618
+ count: import_zod9.z.number().int().min(0)
619
+ });
620
+ var ExposeMealPlanToNearbyFriendsResponseSchema = import_zod9.z.object({
621
+ mealPlanId: MealPlanIdSchema,
622
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
623
+ exposedFriendCount: import_zod9.z.number().int().min(0),
624
+ rejectedFriendCount: import_zod9.z.number().int().min(0),
625
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
626
+ rejectionSummary: import_zod9.z.array(MealPlanNearbyFriendRejectionSummarySchema)
627
+ });
628
+ var MealPlanNearbyFriendExposureSummarySchema = import_zod9.z.object({
629
+ exposureId: MealPlanNearbyFriendExposureIdSchema,
630
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema.nullable(),
631
+ mealPlanId: MealPlanIdSchema,
632
+ status: MealPlanNearbyFriendExposureStatusSchema,
633
+ radiusMeters: import_zod9.z.number().int().min(100),
634
+ exposedFriendCount: import_zod9.z.number().int().min(0),
635
+ openedAt: ISODateTimeStringSchema,
636
+ expiresAt: ISODateTimeStringSchema.nullable(),
637
+ closedAt: ISODateTimeStringSchema.nullable()
638
+ });
639
+ var MealPlanNearbyFriendExposureBatchSummarySchema = import_zod9.z.object({
640
+ exposureBatchId: MealPlanNearbyFriendExposureBatchIdSchema,
641
+ mealPlanId: MealPlanIdSchema,
642
+ status: MealPlanNearbyFriendExposureStatusSchema,
643
+ radiusMeters: import_zod9.z.number().int().min(100),
644
+ exposedFriendCount: import_zod9.z.number().int().min(0),
645
+ rejectedFriendCount: import_zod9.z.number().int().min(0),
646
+ rejectionSummary: import_zod9.z.array(MealPlanNearbyFriendRejectionSummarySchema),
647
+ notificationStatus: MealPlanNearbyFriendExposureNotificationStatusSchema,
648
+ notificationSentAt: ISODateTimeStringSchema.nullable(),
649
+ openedAt: ISODateTimeStringSchema,
650
+ expiresAt: ISODateTimeStringSchema.nullable(),
651
+ closedAt: ISODateTimeStringSchema.nullable()
652
+ });
653
+ var MealPlanJoinRequestStatusSchema = import_zod9.z.enum([
654
+ "PENDING",
655
+ "ACCEPTED",
656
+ "REJECTED",
657
+ "CANCELLED"
658
+ ]);
659
+ var CreateMealPlanJoinRequestSchema = import_zod9.z.object({
660
+ message: import_zod9.z.string().max(500).default("")
661
+ });
662
+ var MealPlanJoinRequestSummarySchema = import_zod9.z.object({
663
+ joinRequestId: MealPlanJoinRequestIdSchema,
664
+ mealPlanId: MealPlanIdSchema,
665
+ requester: MemberCoreSchema,
666
+ status: MealPlanJoinRequestStatusSchema,
667
+ message: import_zod9.z.string().max(500),
668
+ requestedAt: ISODateTimeStringSchema,
669
+ respondedAt: ISODateTimeStringSchema.nullable()
670
+ });
671
+ var NearbyFriendMealPlanSummarySchema = import_zod9.z.object({
672
+ mealPlanId: MealPlanIdSchema,
673
+ owner: MemberCoreSchema,
674
+ title: import_zod9.z.string(),
675
+ participantCount: import_zod9.z.number().int().min(1),
676
+ distanceMeters: import_zod9.z.number().int().min(0),
677
+ exposedAt: ISODateTimeStringSchema,
678
+ expiresAt: ISODateTimeStringSchema.nullable(),
679
+ joinRequestStatus: MealPlanJoinRequestStatusSchema.nullable().default(null)
680
+ });
681
+
682
+ // src/domain/meal-plan/meal-plan-chat.schema.ts
683
+ var import_zod10 = require("zod");
684
+ var MealPlanChatMessageKindSchema = import_zod10.z.enum([
685
+ "USER",
686
+ "SYSTEM"
687
+ ]);
688
+ var MealPlanSystemMessageKindSchema = import_zod10.z.enum([
689
+ "PARTICIPANT_JOINED",
690
+ "PARTICIPANT_READY",
691
+ "PARTICIPANT_REMOVED",
692
+ "STATUS_CHANGED",
693
+ "DECISION_UPDATED",
694
+ "CONFIRMED",
695
+ "RECORD_NEEDED"
696
+ ]);
697
+ var MealPlanChatSystemPayloadSchema = import_zod10.z.object({
698
+ kind: MealPlanSystemMessageKindSchema
699
+ }).catchall(import_zod10.z.unknown());
700
+ var MealPlanChatMessageListResponseSchema = import_zod10.z.array(import_zod10.z.lazy(() => MealPlanChatMessageResponseSchema));
701
+ var MealPlanChatRoomSummarySchema = import_zod10.z.object({
702
+ chatRoomId: MealPlanChatRoomIdSchema,
703
+ mealPlanId: MealPlanIdSchema,
704
+ messageCount: import_zod10.z.number().int().min(0),
705
+ lastMessageAt: ISODateTimeStringSchema.nullable(),
706
+ createdAt: ISODateTimeStringSchema
707
+ });
708
+ var SendMealPlanChatMessageRequestSchema = import_zod10.z.object({
709
+ message: import_zod10.z.string().min(1).max(500)
710
+ });
711
+ var MealPlanChatMessageResponseSchema = import_zod10.z.object({
712
+ messageId: MealPlanChatMessageIdSchema,
713
+ chatRoomId: MealPlanChatRoomIdSchema,
714
+ sender: MemberCoreSchema.nullable(),
715
+ guestId: import_zod10.z.string().min(1).nullable(),
716
+ guestNickname: import_zod10.z.string().min(1).nullable(),
717
+ kind: MealPlanChatMessageKindSchema,
718
+ message: import_zod10.z.string().min(1).max(1e3),
719
+ systemPayload: MealPlanChatSystemPayloadSchema.nullable(),
720
+ createdAt: ISODateTimeStringSchema
721
+ });
722
+ var MealPlanSystemMessageSchema = import_zod10.z.object({
723
+ kind: MealPlanSystemMessageKindSchema,
724
+ message: import_zod10.z.string().min(1),
725
+ createdAt: ISODateTimeStringSchema
726
+ });
727
+
728
+ // src/domain/meal-plan/meal-plan.schema.ts
729
+ var MealPlanStatusSchema = import_zod11.z.enum([
730
+ "DRAFT",
731
+ "RECOMMENDING",
732
+ "GATHERING",
733
+ "DECIDING",
734
+ "READY",
735
+ "CONFIRMED",
736
+ "LOCKED",
737
+ "COMPLETED",
738
+ "RECORDED",
739
+ "CANCELLED"
740
+ ]);
741
+ var MealPlanChannelSchema = import_zod11.z.enum([
742
+ "OWNER_ONLY",
743
+ "FRIEND_INVITE",
744
+ "LINK_GUEST",
745
+ "NEARBY_FRIENDS"
746
+ ]);
747
+ var MealPlanRecommendationContextSchema = import_zod11.z.object({
748
+ mealDate: ISODateStringSchema.optional(),
749
+ mealTime: TimeHHmmStringSchema.optional(),
750
+ area: MealPlanLocationCandidateSchema.optional(),
751
+ preferredMenuCategories: import_zod11.z.array(import_zod11.z.string().min(1)).default([]),
752
+ excludedMenuCategories: import_zod11.z.array(import_zod11.z.string().min(1)).default([]),
753
+ candidateMenuCategories: import_zod11.z.array(import_zod11.z.string().min(1)).default([]),
754
+ budgetMin: import_zod11.z.number().int().min(0).optional(),
755
+ budgetMax: import_zod11.z.number().int().min(0).optional(),
756
+ memo: import_zod11.z.string().max(500).optional()
757
+ });
758
+ var CreateMealPlanRequestSchema = import_zod11.z.object({
759
+ title: import_zod11.z.string().min(1).max(100).optional(),
760
+ channels: import_zod11.z.array(MealPlanChannelSchema).default([
761
+ "OWNER_ONLY"
762
+ ]),
763
+ recommendationContext: MealPlanRecommendationContextSchema.optional()
764
+ });
765
+ var CreateMealPlanResponseSchema = import_zod11.z.object({
766
+ mealPlanId: MealPlanIdSchema
767
+ });
768
+ var UpdateMealPlanContextRequestSchema = MealPlanRecommendationContextSchema.partial();
769
+ var MealPlanViewerRoleSchema = import_zod11.z.enum([
770
+ "OWNER",
771
+ "FRIEND",
772
+ "GUEST",
773
+ "NONE"
774
+ ]);
775
+ var MealPlanViewerPermissionsSchema = import_zod11.z.object({
776
+ canView: import_zod11.z.boolean(),
777
+ canInviteFriends: import_zod11.z.boolean(),
778
+ canManageParticipants: import_zod11.z.boolean(),
779
+ canCreateShareLink: import_zod11.z.boolean(),
780
+ canExposeNearbyFriends: import_zod11.z.boolean(),
781
+ canVote: import_zod11.z.boolean(),
782
+ canChat: import_zod11.z.boolean(),
783
+ canReadyMealPlan: import_zod11.z.boolean(),
784
+ canReadyDecisionTask: import_zod11.z.boolean(),
785
+ canRequestChange: import_zod11.z.boolean(),
786
+ canReopenDecisionTask: import_zod11.z.boolean(),
787
+ canConfirmDecisionSnapshot: import_zod11.z.boolean(),
788
+ canConfirmMealPlan: import_zod11.z.boolean(),
789
+ canCompleteMealPlan: import_zod11.z.boolean(),
790
+ canRecordMealPlan: import_zod11.z.boolean(),
791
+ canCancelMealPlan: import_zod11.z.boolean()
792
+ });
793
+ var MealPlanResponseSchema = import_zod11.z.object({
794
+ mealPlanId: MealPlanIdSchema,
795
+ owner: MemberCoreSchema,
796
+ title: import_zod11.z.string().nullable(),
797
+ status: MealPlanStatusSchema,
798
+ channels: import_zod11.z.array(MealPlanChannelSchema),
799
+ participants: import_zod11.z.array(MealPlanParticipantResponseSchema),
800
+ pendingInvites: import_zod11.z.array(MealPlanInviteSummarySchema),
801
+ pendingJoinRequests: import_zod11.z.array(MealPlanJoinRequestSummarySchema),
802
+ decisionStages: import_zod11.z.array(MealPlanDecisionStageResponseSchema),
803
+ decisionProgress: MealPlanDecisionProgressSchema.nullable(),
804
+ viewerRole: MealPlanViewerRoleSchema,
805
+ viewerParticipantStatus: MealPlanParticipantStatusSchema.nullable(),
806
+ viewerPermissions: MealPlanViewerPermissionsSchema,
807
+ viewerTaskReadyMap: import_zod11.z.record(MealPlanDecisionTaskKeySchema, import_zod11.z.boolean()),
808
+ selectedDate: ISODateStringSchema.nullable(),
809
+ selectedTime: TimeHHmmStringSchema.nullable(),
810
+ selectedArea: MealPlanLocationCandidateSchema.nullable(),
811
+ selectedRestaurant: RestaurantSchema.nullable(),
812
+ selectedMenuCategory: import_zod11.z.string().nullable(),
813
+ chatRoom: MealPlanChatRoomSummarySchema.nullable(),
814
+ confirmedAt: ISODateTimeStringSchema.nullable(),
815
+ lockedAt: ISODateTimeStringSchema.nullable(),
816
+ completedAt: ISODateTimeStringSchema.nullable(),
817
+ recordedAt: ISODateTimeStringSchema.nullable(),
818
+ createdAt: ISODateTimeStringSchema,
819
+ updatedAt: ISODateTimeStringSchema
820
+ });
821
+ var MyMealPlanGroupSchema = import_zod11.z.enum([
822
+ "DECIDING",
823
+ "UPCOMING",
824
+ "RECORD_NEEDED",
825
+ "PAST"
826
+ ]);
827
+ var MyMealPlanListItemSchema = import_zod11.z.object({
828
+ mealPlanId: MealPlanIdSchema,
829
+ group: MyMealPlanGroupSchema,
830
+ title: import_zod11.z.string(),
831
+ status: MealPlanStatusSchema,
832
+ channels: import_zod11.z.array(MealPlanChannelSchema),
833
+ participantCount: import_zod11.z.number().int().min(1),
834
+ selectedDate: ISODateStringSchema.nullable(),
835
+ selectedTime: TimeHHmmStringSchema.nullable(),
836
+ selectedAreaName: import_zod11.z.string().nullable(),
837
+ selectedRestaurantName: import_zod11.z.string().nullable(),
838
+ primaryAction: import_zod11.z.object({
839
+ label: import_zod11.z.string(),
840
+ href: import_zod11.z.string()
841
+ }),
842
+ updatedAt: ISODateTimeStringSchema
843
+ });
844
+ var MyMealPlanListResponseSchema = import_zod11.z.object({
845
+ deciding: import_zod11.z.array(MyMealPlanListItemSchema),
846
+ upcoming: import_zod11.z.array(MyMealPlanListItemSchema),
847
+ recordNeeded: import_zod11.z.array(MyMealPlanListItemSchema),
848
+ past: import_zod11.z.array(MyMealPlanListItemSchema)
849
+ });
850
+ var MealPlanNotificationKindSchema = import_zod11.z.enum([
851
+ "MEAL_PLAN_INVITE_RECEIVED",
852
+ "MEAL_PLAN_INVITE_ACCEPTED",
853
+ "MEAL_PLAN_JOIN_REQUESTED",
854
+ "MEAL_PLAN_JOIN_REQUEST_ACCEPTED",
855
+ "MEAL_PLAN_NEARBY_FRIEND_EXPOSED",
856
+ "MEAL_PLAN_PARTICIPANT_JOINED",
857
+ "MEAL_PLAN_READY_COMPLETED",
858
+ "MEAL_PLAN_CONFIRMED",
859
+ "MEAL_PLAN_LOCKED",
860
+ "MEAL_PLAN_RECORD_NEEDED"
861
+ ]);
862
+ var MealPlanNotificationPriorityChannelSchema = import_zod11.z.enum([
863
+ "HOME",
864
+ "NOTIFICATION_INBOX",
865
+ "FCM_PUSH",
866
+ "LIVE_ACTIVITY"
867
+ ]);
868
+ var MealPlanLiveActivityBehaviorSchema = import_zod11.z.enum([
869
+ "NONE",
870
+ "START_OR_UPDATE",
871
+ "UPDATE",
872
+ "END"
873
+ ]);
874
+ var MealPlanNotificationPriorityPolicyItemSchema = import_zod11.z.object({
875
+ kind: MealPlanNotificationKindSchema,
876
+ priority: import_zod11.z.number().int().min(0),
877
+ homePriority: import_zod11.z.number().int().min(0),
878
+ inboxPriority: import_zod11.z.number().int().min(0),
879
+ fcmPriority: import_zod11.z.number().int().min(0),
880
+ liveActivityPriority: import_zod11.z.number().int().min(0),
881
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema,
882
+ foregroundToast: import_zod11.z.boolean()
883
+ });
884
+ var MealPlanNotificationSchema = import_zod11.z.object({
885
+ notificationId: import_zod11.z.string().min(1),
886
+ kind: MealPlanNotificationKindSchema,
887
+ mealPlanId: MealPlanIdSchema,
888
+ deepLink: import_zod11.z.string().min(1),
889
+ title: import_zod11.z.string().min(1),
890
+ message: import_zod11.z.string().min(1),
891
+ createdAt: ISODateTimeStringSchema,
892
+ readAt: ISODateTimeStringSchema.nullable()
893
+ });
894
+
895
+ // src/domain/push/push.schema.ts
896
+ var PushProviderSchema = import_zod12.z.enum([
897
+ "FCM",
898
+ "APNS_LIVE_ACTIVITY"
899
+ ]);
900
+ var PushPlatformSchema = import_zod12.z.enum([
901
+ "WEB",
902
+ "ANDROID",
903
+ "IOS"
904
+ ]);
905
+ var PushPermissionStatusSchema = import_zod12.z.enum([
906
+ "UNKNOWN",
907
+ "PROMPT",
908
+ "GRANTED",
909
+ "DENIED"
910
+ ]);
911
+ var PushTokenStatusSchema = import_zod12.z.enum([
912
+ "ACTIVE",
913
+ "REVOKED",
914
+ "DISABLED"
915
+ ]);
916
+ var RegisterPushTokenRequestSchema = import_zod12.z.object({
917
+ provider: PushProviderSchema.default("FCM"),
918
+ platform: PushPlatformSchema,
919
+ token: import_zod12.z.string().min(10),
920
+ deviceId: import_zod12.z.string().min(1).max(128),
921
+ appVersion: import_zod12.z.string().min(1).max(64).optional(),
922
+ buildNumber: import_zod12.z.string().min(1).max(64).optional(),
923
+ permissionStatus: PushPermissionStatusSchema
924
+ });
925
+ var RevokePushTokenRequestSchema = import_zod12.z.object({
926
+ provider: PushProviderSchema.default("FCM"),
927
+ token: import_zod12.z.string().min(10).optional(),
928
+ deviceId: import_zod12.z.string().min(1).max(128).optional()
929
+ });
930
+ var PushTokenResponseSchema = import_zod12.z.object({
931
+ pushTokenId: import_zod12.z.string().uuid(),
932
+ provider: PushProviderSchema,
933
+ platform: PushPlatformSchema,
934
+ deviceId: import_zod12.z.string(),
935
+ status: PushTokenStatusSchema,
936
+ permissionStatus: PushPermissionStatusSchema,
937
+ appVersion: import_zod12.z.string().nullable(),
938
+ buildNumber: import_zod12.z.string().nullable(),
939
+ lastSeenAt: ISODateTimeStringSchema,
940
+ revokedAt: ISODateTimeStringSchema.nullable()
941
+ });
942
+ var PushPayloadSchemaVersionSchema = import_zod12.z.literal("2026-06-17");
943
+ var MealPlanPushPayloadDataSchema = import_zod12.z.object({
944
+ schemaVersion: PushPayloadSchemaVersionSchema,
945
+ notificationId: import_zod12.z.string().min(1),
946
+ kind: MealPlanNotificationKindSchema,
947
+ mealPlanId: MealPlanIdSchema,
948
+ deepLink: import_zod12.z.string().min(1),
949
+ title: import_zod12.z.string().min(1),
950
+ body: import_zod12.z.string().min(1),
951
+ fcmPriority: import_zod12.z.coerce.number().int().min(0),
952
+ liveActivityPriority: import_zod12.z.coerce.number().int().min(0),
953
+ liveActivityBehavior: MealPlanLiveActivityBehaviorSchema
954
+ });
955
+ var PushDeliveryStatusSchema = import_zod12.z.enum([
956
+ "PENDING",
957
+ "SENT",
958
+ "FAILED",
959
+ "SKIPPED"
960
+ ]);
961
+ var PushDeliveryAttemptResultSchema = import_zod12.z.enum([
962
+ "SENT",
963
+ "FAILED",
964
+ "SKIPPED"
965
+ ]);
966
+ var PushDeliveryAttemptSummarySchema = import_zod12.z.object({
967
+ attemptId: import_zod12.z.string().uuid(),
968
+ outboxId: import_zod12.z.string().uuid(),
969
+ pushTokenId: import_zod12.z.string().uuid().nullable(),
970
+ provider: PushProviderSchema,
971
+ result: PushDeliveryAttemptResultSchema,
972
+ providerMessageId: import_zod12.z.string().nullable(),
973
+ errorCode: import_zod12.z.string().nullable(),
974
+ errorMessage: import_zod12.z.string().nullable(),
975
+ invalidToken: import_zod12.z.boolean(),
976
+ createdAt: ISODateTimeStringSchema
977
+ });
978
+ var PushDeliveryOutboxSummarySchema = import_zod12.z.object({
979
+ outboxId: import_zod12.z.string().uuid(),
980
+ notificationId: import_zod12.z.string().min(1),
981
+ memberId: import_zod12.z.number().int().positive(),
982
+ status: PushDeliveryStatusSchema,
983
+ attemptCount: import_zod12.z.number().int().min(0),
984
+ lastError: import_zod12.z.string().nullable(),
985
+ nextAttemptAt: ISODateTimeStringSchema.nullable(),
986
+ sentAt: ISODateTimeStringSchema.nullable(),
987
+ createdAt: ISODateTimeStringSchema
988
+ });
989
+ // Annotate the CommonJS export names for ESM import in node:
990
+ 0 && (module.exports = {
991
+ MealPlanPushPayloadDataSchema,
992
+ PushDeliveryAttemptResultSchema,
993
+ PushDeliveryAttemptSummarySchema,
994
+ PushDeliveryOutboxSummarySchema,
995
+ PushDeliveryStatusSchema,
996
+ PushPayloadSchemaVersionSchema,
997
+ PushPermissionStatusSchema,
998
+ PushPlatformSchema,
999
+ PushProviderSchema,
1000
+ PushTokenResponseSchema,
1001
+ PushTokenStatusSchema,
1002
+ RegisterPushTokenRequestSchema,
1003
+ RevokePushTokenRequestSchema
1004
+ });