@open-loyalty/mcp-server 1.0.0

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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +654 -0
  3. package/dist/client/http.d.ts +8 -0
  4. package/dist/client/http.js +69 -0
  5. package/dist/config.d.ts +17 -0
  6. package/dist/config.js +40 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +20 -0
  9. package/dist/server.d.ts +4 -0
  10. package/dist/server.js +334 -0
  11. package/dist/tools/achievement.d.ts +983 -0
  12. package/dist/tools/achievement.js +311 -0
  13. package/dist/tools/admin.d.ts +153 -0
  14. package/dist/tools/admin.js +193 -0
  15. package/dist/tools/analytics.d.ts +162 -0
  16. package/dist/tools/analytics.js +245 -0
  17. package/dist/tools/apikey.d.ts +72 -0
  18. package/dist/tools/apikey.js +78 -0
  19. package/dist/tools/audit.d.ts +107 -0
  20. package/dist/tools/audit.js +90 -0
  21. package/dist/tools/badge.d.ts +135 -0
  22. package/dist/tools/badge.js +165 -0
  23. package/dist/tools/campaign.d.ts +1775 -0
  24. package/dist/tools/campaign.js +724 -0
  25. package/dist/tools/export.d.ts +110 -0
  26. package/dist/tools/export.js +147 -0
  27. package/dist/tools/import.d.ts +110 -0
  28. package/dist/tools/import.js +126 -0
  29. package/dist/tools/index.d.ts +22 -0
  30. package/dist/tools/index.js +527 -0
  31. package/dist/tools/member.d.ts +345 -0
  32. package/dist/tools/member.js +358 -0
  33. package/dist/tools/member.test.d.ts +1 -0
  34. package/dist/tools/member.test.js +213 -0
  35. package/dist/tools/points.d.ts +188 -0
  36. package/dist/tools/points.js +306 -0
  37. package/dist/tools/points.test.d.ts +1 -0
  38. package/dist/tools/points.test.js +292 -0
  39. package/dist/tools/reward.d.ts +261 -0
  40. package/dist/tools/reward.js +371 -0
  41. package/dist/tools/reward.test.d.ts +1 -0
  42. package/dist/tools/reward.test.js +240 -0
  43. package/dist/tools/role.d.ts +161 -0
  44. package/dist/tools/role.js +160 -0
  45. package/dist/tools/segment.d.ts +797 -0
  46. package/dist/tools/segment.js +299 -0
  47. package/dist/tools/store.d.ts +101 -0
  48. package/dist/tools/store.js +117 -0
  49. package/dist/tools/tierset.d.ts +288 -0
  50. package/dist/tools/tierset.js +244 -0
  51. package/dist/tools/transaction.d.ts +357 -0
  52. package/dist/tools/transaction.js +242 -0
  53. package/dist/tools/transaction.test.d.ts +1 -0
  54. package/dist/tools/transaction.test.js +235 -0
  55. package/dist/tools/wallet-type.d.ts +32 -0
  56. package/dist/tools/wallet-type.js +58 -0
  57. package/dist/tools/webhook.d.ts +179 -0
  58. package/dist/tools/webhook.js +171 -0
  59. package/dist/types/schemas/achievement.d.ts +1116 -0
  60. package/dist/types/schemas/achievement.js +172 -0
  61. package/dist/types/schemas/admin.d.ts +263 -0
  62. package/dist/types/schemas/admin.js +99 -0
  63. package/dist/types/schemas/analytics.d.ts +542 -0
  64. package/dist/types/schemas/analytics.js +130 -0
  65. package/dist/types/schemas/badge.d.ts +131 -0
  66. package/dist/types/schemas/badge.js +48 -0
  67. package/dist/types/schemas/campaign.d.ts +2005 -0
  68. package/dist/types/schemas/campaign.js +189 -0
  69. package/dist/types/schemas/common.d.ts +52 -0
  70. package/dist/types/schemas/common.js +26 -0
  71. package/dist/types/schemas/export.d.ts +127 -0
  72. package/dist/types/schemas/export.js +43 -0
  73. package/dist/types/schemas/import.d.ts +344 -0
  74. package/dist/types/schemas/import.js +68 -0
  75. package/dist/types/schemas/member.d.ts +443 -0
  76. package/dist/types/schemas/member.js +92 -0
  77. package/dist/types/schemas/points.d.ts +188 -0
  78. package/dist/types/schemas/points.js +54 -0
  79. package/dist/types/schemas/reward.d.ts +278 -0
  80. package/dist/types/schemas/reward.js +69 -0
  81. package/dist/types/schemas/role.d.ts +260 -0
  82. package/dist/types/schemas/role.js +75 -0
  83. package/dist/types/schemas/segment.d.ts +592 -0
  84. package/dist/types/schemas/segment.js +114 -0
  85. package/dist/types/schemas/tierset.d.ts +552 -0
  86. package/dist/types/schemas/tierset.js +87 -0
  87. package/dist/types/schemas/transaction.d.ts +1022 -0
  88. package/dist/types/schemas/transaction.js +63 -0
  89. package/dist/types/schemas/wallet-type.d.ts +99 -0
  90. package/dist/types/schemas/wallet-type.js +17 -0
  91. package/dist/types/schemas/webhook.d.ts +195 -0
  92. package/dist/types/schemas/webhook.js +39 -0
  93. package/dist/utils/cursor.d.ts +84 -0
  94. package/dist/utils/cursor.js +117 -0
  95. package/dist/utils/errors.d.ts +12 -0
  96. package/dist/utils/errors.js +69 -0
  97. package/dist/utils/pagination.d.ts +39 -0
  98. package/dist/utils/pagination.js +77 -0
  99. package/package.json +65 -0
@@ -0,0 +1,1775 @@
1
+ import { z } from "zod";
2
+ import { CampaignListItem } from "../types/schemas/campaign.js";
3
+ export declare const CampaignListInputSchema: {
4
+ storeCode: z.ZodOptional<z.ZodString>;
5
+ page: z.ZodOptional<z.ZodNumber>;
6
+ perPage: z.ZodOptional<z.ZodNumber>;
7
+ active: z.ZodOptional<z.ZodBoolean>;
8
+ type: z.ZodOptional<z.ZodEnum<["direct", "referral"]>>;
9
+ trigger: z.ZodOptional<z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>>;
10
+ };
11
+ export declare const CampaignGetInputSchema: {
12
+ storeCode: z.ZodOptional<z.ZodString>;
13
+ campaignId: z.ZodString;
14
+ };
15
+ export declare const CampaignUpdateInputSchema: {
16
+ storeCode: z.ZodOptional<z.ZodString>;
17
+ campaignId: z.ZodString;
18
+ type: z.ZodEnum<["direct", "referral"]>;
19
+ trigger: z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>;
20
+ translations: z.ZodObject<{
21
+ en: z.ZodObject<{
22
+ name: z.ZodString;
23
+ description: z.ZodOptional<z.ZodString>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ name: string;
26
+ description?: string | undefined;
27
+ }, {
28
+ name: string;
29
+ description?: string | undefined;
30
+ }>;
31
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
32
+ en: z.ZodObject<{
33
+ name: z.ZodString;
34
+ description: z.ZodOptional<z.ZodString>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ name: string;
37
+ description?: string | undefined;
38
+ }, {
39
+ name: string;
40
+ description?: string | undefined;
41
+ }>;
42
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
43
+ en: z.ZodObject<{
44
+ name: z.ZodString;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ name: string;
48
+ description?: string | undefined;
49
+ }, {
50
+ name: string;
51
+ description?: string | undefined;
52
+ }>;
53
+ }, z.ZodTypeAny, "passthrough">>;
54
+ activity: z.ZodObject<{
55
+ startsAt: z.ZodString;
56
+ endsAt: z.ZodOptional<z.ZodString>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ startsAt: string;
59
+ endsAt?: string | undefined;
60
+ }, {
61
+ startsAt: string;
62
+ endsAt?: string | undefined;
63
+ }>;
64
+ rules: z.ZodArray<z.ZodObject<{
65
+ name: z.ZodString;
66
+ description: z.ZodOptional<z.ZodString>;
67
+ target: z.ZodOptional<z.ZodEnum<["self", "referrer"]>>;
68
+ effects: z.ZodArray<z.ZodObject<{
69
+ effect: z.ZodString;
70
+ pointsRule: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
71
+ walletCode: z.ZodOptional<z.ZodString>;
72
+ rewardId: z.ZodOptional<z.ZodString>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ effect: string;
75
+ walletCode?: string | undefined;
76
+ rewardId?: string | undefined;
77
+ pointsRule?: Record<string, unknown> | undefined;
78
+ }, {
79
+ effect: string;
80
+ walletCode?: string | undefined;
81
+ rewardId?: string | undefined;
82
+ pointsRule?: Record<string, unknown> | undefined;
83
+ }>, "many">;
84
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
+ operator: z.ZodString;
86
+ attribute: z.ZodString;
87
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ attribute: string;
90
+ operator: string;
91
+ data?: Record<string, unknown> | undefined;
92
+ }, {
93
+ attribute: string;
94
+ operator: string;
95
+ data?: Record<string, unknown> | undefined;
96
+ }>, "many">>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ name: string;
99
+ effects: {
100
+ effect: string;
101
+ walletCode?: string | undefined;
102
+ rewardId?: string | undefined;
103
+ pointsRule?: Record<string, unknown> | undefined;
104
+ }[];
105
+ description?: string | undefined;
106
+ conditions?: {
107
+ attribute: string;
108
+ operator: string;
109
+ data?: Record<string, unknown> | undefined;
110
+ }[] | undefined;
111
+ target?: "self" | "referrer" | undefined;
112
+ }, {
113
+ name: string;
114
+ effects: {
115
+ effect: string;
116
+ walletCode?: string | undefined;
117
+ rewardId?: string | undefined;
118
+ pointsRule?: Record<string, unknown> | undefined;
119
+ }[];
120
+ description?: string | undefined;
121
+ conditions?: {
122
+ attribute: string;
123
+ operator: string;
124
+ data?: Record<string, unknown> | undefined;
125
+ }[] | undefined;
126
+ target?: "self" | "referrer" | undefined;
127
+ }>, "many">;
128
+ visibility: z.ZodOptional<z.ZodObject<{
129
+ target: z.ZodEnum<["all", "tier", "segment"]>;
130
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
132
+ }, "strip", z.ZodTypeAny, {
133
+ target: "all" | "segment" | "tier";
134
+ tiers?: string[] | undefined;
135
+ segments?: string[] | undefined;
136
+ }, {
137
+ target: "all" | "segment" | "tier";
138
+ tiers?: string[] | undefined;
139
+ segments?: string[] | undefined;
140
+ }>>;
141
+ audience: z.ZodOptional<z.ZodObject<{
142
+ target: z.ZodEnum<["all", "tier", "segment"]>;
143
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
144
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ }, "strip", z.ZodTypeAny, {
146
+ target: "all" | "segment" | "tier";
147
+ tiers?: string[] | undefined;
148
+ segments?: string[] | undefined;
149
+ }, {
150
+ target: "all" | "segment" | "tier";
151
+ tiers?: string[] | undefined;
152
+ segments?: string[] | undefined;
153
+ }>>;
154
+ limits: z.ZodOptional<z.ZodObject<{
155
+ points: z.ZodOptional<z.ZodObject<{
156
+ value: z.ZodNumber;
157
+ interval: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ value: number;
160
+ interval?: Record<string, unknown> | undefined;
161
+ }, {
162
+ value: number;
163
+ interval?: Record<string, unknown> | undefined;
164
+ }>>;
165
+ pointsPerMember: z.ZodOptional<z.ZodObject<{
166
+ value: z.ZodNumber;
167
+ interval: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ value: number;
170
+ interval?: Record<string, unknown> | undefined;
171
+ }, {
172
+ value: number;
173
+ interval?: Record<string, unknown> | undefined;
174
+ }>>;
175
+ executionsPerMember: z.ZodOptional<z.ZodObject<{
176
+ value: z.ZodNumber;
177
+ interval: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
178
+ }, "strip", z.ZodTypeAny, {
179
+ value: number;
180
+ interval?: Record<string, unknown> | undefined;
181
+ }, {
182
+ value: number;
183
+ interval?: Record<string, unknown> | undefined;
184
+ }>>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ points?: {
187
+ value: number;
188
+ interval?: Record<string, unknown> | undefined;
189
+ } | undefined;
190
+ pointsPerMember?: {
191
+ value: number;
192
+ interval?: Record<string, unknown> | undefined;
193
+ } | undefined;
194
+ executionsPerMember?: {
195
+ value: number;
196
+ interval?: Record<string, unknown> | undefined;
197
+ } | undefined;
198
+ }, {
199
+ points?: {
200
+ value: number;
201
+ interval?: Record<string, unknown> | undefined;
202
+ } | undefined;
203
+ pointsPerMember?: {
204
+ value: number;
205
+ interval?: Record<string, unknown> | undefined;
206
+ } | undefined;
207
+ executionsPerMember?: {
208
+ value: number;
209
+ interval?: Record<string, unknown> | undefined;
210
+ } | undefined;
211
+ }>>;
212
+ active: z.ZodOptional<z.ZodBoolean>;
213
+ displayOrder: z.ZodOptional<z.ZodNumber>;
214
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
215
+ key: z.ZodString;
216
+ value: z.ZodString;
217
+ }, "strip", z.ZodTypeAny, {
218
+ value: string;
219
+ key: string;
220
+ }, {
221
+ value: string;
222
+ key: string;
223
+ }>, "many">>;
224
+ event: z.ZodOptional<z.ZodString>;
225
+ };
226
+ export declare const CampaignPatchInputSchema: {
227
+ storeCode: z.ZodOptional<z.ZodString>;
228
+ campaignId: z.ZodString;
229
+ active: z.ZodOptional<z.ZodBoolean>;
230
+ displayOrder: z.ZodOptional<z.ZodNumber>;
231
+ };
232
+ export declare const CampaignDeleteInputSchema: {
233
+ storeCode: z.ZodOptional<z.ZodString>;
234
+ campaignId: z.ZodString;
235
+ };
236
+ export declare const CampaignSimulateInputSchema: {
237
+ storeCode: z.ZodOptional<z.ZodString>;
238
+ trigger: z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>;
239
+ transaction: z.ZodOptional<z.ZodObject<{
240
+ grossValue: z.ZodOptional<z.ZodNumber>;
241
+ documentNumber: z.ZodOptional<z.ZodString>;
242
+ purchasedAt: z.ZodOptional<z.ZodString>;
243
+ documentType: z.ZodOptional<z.ZodEnum<["sell", "return"]>>;
244
+ purchasePlace: z.ZodOptional<z.ZodString>;
245
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
246
+ sku: z.ZodString;
247
+ name: z.ZodString;
248
+ qty: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
249
+ grossValue: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
250
+ category: z.ZodOptional<z.ZodString>;
251
+ maker: z.ZodOptional<z.ZodString>;
252
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
253
+ key: z.ZodString;
254
+ value: z.ZodString;
255
+ }, "strip", z.ZodTypeAny, {
256
+ value: string;
257
+ key: string;
258
+ }, {
259
+ value: string;
260
+ key: string;
261
+ }>, "many">>;
262
+ }, "strip", z.ZodTypeAny, {
263
+ name: string;
264
+ sku: string;
265
+ grossValue: string | number;
266
+ labels?: {
267
+ value: string;
268
+ key: string;
269
+ }[] | undefined;
270
+ category?: string | undefined;
271
+ maker?: string | undefined;
272
+ qty?: string | number | undefined;
273
+ }, {
274
+ name: string;
275
+ sku: string;
276
+ grossValue: string | number;
277
+ labels?: {
278
+ value: string;
279
+ key: string;
280
+ }[] | undefined;
281
+ category?: string | undefined;
282
+ maker?: string | undefined;
283
+ qty?: string | number | undefined;
284
+ }>, "many">>;
285
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
286
+ key: z.ZodString;
287
+ value: z.ZodString;
288
+ }, "strip", z.ZodTypeAny, {
289
+ value: string;
290
+ key: string;
291
+ }, {
292
+ value: string;
293
+ key: string;
294
+ }>, "many">>;
295
+ }, "strip", z.ZodTypeAny, {
296
+ items?: {
297
+ name: string;
298
+ sku: string;
299
+ grossValue: string | number;
300
+ labels?: {
301
+ value: string;
302
+ key: string;
303
+ }[] | undefined;
304
+ category?: string | undefined;
305
+ maker?: string | undefined;
306
+ qty?: string | number | undefined;
307
+ }[] | undefined;
308
+ documentNumber?: string | undefined;
309
+ purchasedAt?: string | undefined;
310
+ documentType?: "sell" | "return" | undefined;
311
+ purchasePlace?: string | undefined;
312
+ labels?: {
313
+ value: string;
314
+ key: string;
315
+ }[] | undefined;
316
+ grossValue?: number | undefined;
317
+ }, {
318
+ items?: {
319
+ name: string;
320
+ sku: string;
321
+ grossValue: string | number;
322
+ labels?: {
323
+ value: string;
324
+ key: string;
325
+ }[] | undefined;
326
+ category?: string | undefined;
327
+ maker?: string | undefined;
328
+ qty?: string | number | undefined;
329
+ }[] | undefined;
330
+ documentNumber?: string | undefined;
331
+ purchasedAt?: string | undefined;
332
+ documentType?: "sell" | "return" | undefined;
333
+ purchasePlace?: string | undefined;
334
+ labels?: {
335
+ value: string;
336
+ key: string;
337
+ }[] | undefined;
338
+ grossValue?: number | undefined;
339
+ }>>;
340
+ customEvent: z.ZodOptional<z.ZodObject<{
341
+ eventCode: z.ZodString;
342
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ eventCode: string;
345
+ attributes?: Record<string, unknown> | undefined;
346
+ }, {
347
+ eventCode: string;
348
+ attributes?: Record<string, unknown> | undefined;
349
+ }>>;
350
+ customer: z.ZodObject<{
351
+ customerId: z.ZodOptional<z.ZodString>;
352
+ id: z.ZodOptional<z.ZodString>;
353
+ email: z.ZodOptional<z.ZodString>;
354
+ loyaltyCardNumber: z.ZodOptional<z.ZodString>;
355
+ phone: z.ZodOptional<z.ZodString>;
356
+ firstName: z.ZodOptional<z.ZodString>;
357
+ lastName: z.ZodOptional<z.ZodString>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ id?: string | undefined;
360
+ email?: string | undefined;
361
+ firstName?: string | undefined;
362
+ lastName?: string | undefined;
363
+ phone?: string | undefined;
364
+ loyaltyCardNumber?: string | undefined;
365
+ customerId?: string | undefined;
366
+ }, {
367
+ id?: string | undefined;
368
+ email?: string | undefined;
369
+ firstName?: string | undefined;
370
+ lastName?: string | undefined;
371
+ phone?: string | undefined;
372
+ loyaltyCardNumber?: string | undefined;
373
+ customerId?: string | undefined;
374
+ }>;
375
+ referrer: z.ZodOptional<z.ZodObject<{
376
+ id: z.ZodOptional<z.ZodString>;
377
+ email: z.ZodOptional<z.ZodString>;
378
+ loyaltyCardNumber: z.ZodOptional<z.ZodString>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ id?: string | undefined;
381
+ email?: string | undefined;
382
+ loyaltyCardNumber?: string | undefined;
383
+ }, {
384
+ id?: string | undefined;
385
+ email?: string | undefined;
386
+ loyaltyCardNumber?: string | undefined;
387
+ }>>;
388
+ };
389
+ export declare const CampaignGenerateCodesInputSchema: {
390
+ storeCode: z.ZodOptional<z.ZodString>;
391
+ campaignId: z.ZodString;
392
+ quantity: z.ZodNumber;
393
+ };
394
+ export declare const CampaignListCodesInputSchema: {
395
+ storeCode: z.ZodOptional<z.ZodString>;
396
+ campaignId: z.ZodString;
397
+ page: z.ZodOptional<z.ZodNumber>;
398
+ perPage: z.ZodOptional<z.ZodNumber>;
399
+ status: z.ZodOptional<z.ZodString>;
400
+ code: z.ZodOptional<z.ZodString>;
401
+ };
402
+ export declare const CampaignGetAvailableInputSchema: {
403
+ storeCode: z.ZodOptional<z.ZodString>;
404
+ memberId: z.ZodString;
405
+ page: z.ZodOptional<z.ZodNumber>;
406
+ perPage: z.ZodOptional<z.ZodNumber>;
407
+ type: z.ZodOptional<z.ZodEnum<["direct", "referral"]>>;
408
+ trigger: z.ZodOptional<z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>>;
409
+ };
410
+ export declare const CampaignGetVisibleInputSchema: {
411
+ storeCode: z.ZodOptional<z.ZodString>;
412
+ memberId: z.ZodString;
413
+ page: z.ZodOptional<z.ZodNumber>;
414
+ perPage: z.ZodOptional<z.ZodNumber>;
415
+ active: z.ZodOptional<z.ZodBoolean>;
416
+ };
417
+ export declare const CampaignGetLeaderboardInputSchema: {
418
+ storeCode: z.ZodOptional<z.ZodString>;
419
+ campaignId: z.ZodString;
420
+ type: z.ZodOptional<z.ZodString>;
421
+ };
422
+ export declare const CampaignCreateInputSchema: {
423
+ storeCode: z.ZodOptional<z.ZodString>;
424
+ type: z.ZodEnum<["direct", "referral"]>;
425
+ trigger: z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>;
426
+ translations: z.ZodObject<{
427
+ en: z.ZodObject<{
428
+ name: z.ZodString;
429
+ description: z.ZodOptional<z.ZodString>;
430
+ }, "strip", z.ZodTypeAny, {
431
+ name: string;
432
+ description?: string | undefined;
433
+ }, {
434
+ name: string;
435
+ description?: string | undefined;
436
+ }>;
437
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
438
+ en: z.ZodObject<{
439
+ name: z.ZodString;
440
+ description: z.ZodOptional<z.ZodString>;
441
+ }, "strip", z.ZodTypeAny, {
442
+ name: string;
443
+ description?: string | undefined;
444
+ }, {
445
+ name: string;
446
+ description?: string | undefined;
447
+ }>;
448
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
449
+ en: z.ZodObject<{
450
+ name: z.ZodString;
451
+ description: z.ZodOptional<z.ZodString>;
452
+ }, "strip", z.ZodTypeAny, {
453
+ name: string;
454
+ description?: string | undefined;
455
+ }, {
456
+ name: string;
457
+ description?: string | undefined;
458
+ }>;
459
+ }, z.ZodTypeAny, "passthrough">>;
460
+ activity: z.ZodObject<{
461
+ startsAt: z.ZodString;
462
+ endsAt: z.ZodOptional<z.ZodString>;
463
+ }, "strip", z.ZodTypeAny, {
464
+ startsAt: string;
465
+ endsAt?: string | undefined;
466
+ }, {
467
+ startsAt: string;
468
+ endsAt?: string | undefined;
469
+ }>;
470
+ rules: z.ZodArray<z.ZodObject<{
471
+ name: z.ZodString;
472
+ description: z.ZodOptional<z.ZodString>;
473
+ target: z.ZodOptional<z.ZodEnum<["self", "referrer"]>>;
474
+ effects: z.ZodArray<z.ZodObject<{
475
+ effect: z.ZodEnum<["give_points", "give_reward", "deduct_unit", "assign_member_custom_attribute", "remove_member_custom_attribute"]>;
476
+ pointsRule: z.ZodOptional<z.ZodObject<{
477
+ expression: z.ZodOptional<z.ZodString>;
478
+ multiplier: z.ZodOptional<z.ZodNumber>;
479
+ fixedValue: z.ZodOptional<z.ZodNumber>;
480
+ }, "strip", z.ZodTypeAny, {
481
+ expression?: string | undefined;
482
+ multiplier?: number | undefined;
483
+ fixedValue?: number | undefined;
484
+ }, {
485
+ expression?: string | undefined;
486
+ multiplier?: number | undefined;
487
+ fixedValue?: number | undefined;
488
+ }>>;
489
+ walletCode: z.ZodOptional<z.ZodString>;
490
+ rewardId: z.ZodOptional<z.ZodString>;
491
+ customAttributeKey: z.ZodOptional<z.ZodString>;
492
+ customAttributeValueRule: z.ZodOptional<z.ZodString>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
495
+ walletCode?: string | undefined;
496
+ rewardId?: string | undefined;
497
+ pointsRule?: {
498
+ expression?: string | undefined;
499
+ multiplier?: number | undefined;
500
+ fixedValue?: number | undefined;
501
+ } | undefined;
502
+ customAttributeKey?: string | undefined;
503
+ customAttributeValueRule?: string | undefined;
504
+ }, {
505
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
506
+ walletCode?: string | undefined;
507
+ rewardId?: string | undefined;
508
+ pointsRule?: {
509
+ expression?: string | undefined;
510
+ multiplier?: number | undefined;
511
+ fixedValue?: number | undefined;
512
+ } | undefined;
513
+ customAttributeKey?: string | undefined;
514
+ customAttributeValueRule?: string | undefined;
515
+ }>, "many">;
516
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
517
+ operator: z.ZodString;
518
+ attribute: z.ZodString;
519
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
520
+ }, "strip", z.ZodTypeAny, {
521
+ attribute: string;
522
+ operator: string;
523
+ data?: Record<string, unknown> | undefined;
524
+ }, {
525
+ attribute: string;
526
+ operator: string;
527
+ data?: Record<string, unknown> | undefined;
528
+ }>, "many">>;
529
+ }, "strip", z.ZodTypeAny, {
530
+ name: string;
531
+ effects: {
532
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
533
+ walletCode?: string | undefined;
534
+ rewardId?: string | undefined;
535
+ pointsRule?: {
536
+ expression?: string | undefined;
537
+ multiplier?: number | undefined;
538
+ fixedValue?: number | undefined;
539
+ } | undefined;
540
+ customAttributeKey?: string | undefined;
541
+ customAttributeValueRule?: string | undefined;
542
+ }[];
543
+ description?: string | undefined;
544
+ conditions?: {
545
+ attribute: string;
546
+ operator: string;
547
+ data?: Record<string, unknown> | undefined;
548
+ }[] | undefined;
549
+ target?: "self" | "referrer" | undefined;
550
+ }, {
551
+ name: string;
552
+ effects: {
553
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
554
+ walletCode?: string | undefined;
555
+ rewardId?: string | undefined;
556
+ pointsRule?: {
557
+ expression?: string | undefined;
558
+ multiplier?: number | undefined;
559
+ fixedValue?: number | undefined;
560
+ } | undefined;
561
+ customAttributeKey?: string | undefined;
562
+ customAttributeValueRule?: string | undefined;
563
+ }[];
564
+ description?: string | undefined;
565
+ conditions?: {
566
+ attribute: string;
567
+ operator: string;
568
+ data?: Record<string, unknown> | undefined;
569
+ }[] | undefined;
570
+ target?: "self" | "referrer" | undefined;
571
+ }>, "many">;
572
+ visibility: z.ZodOptional<z.ZodObject<{
573
+ target: z.ZodEnum<["all", "tier", "segment"]>;
574
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
575
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
576
+ }, "strip", z.ZodTypeAny, {
577
+ target: "all" | "segment" | "tier";
578
+ tiers?: string[] | undefined;
579
+ segments?: string[] | undefined;
580
+ }, {
581
+ target: "all" | "segment" | "tier";
582
+ tiers?: string[] | undefined;
583
+ segments?: string[] | undefined;
584
+ }>>;
585
+ audience: z.ZodOptional<z.ZodObject<{
586
+ target: z.ZodEnum<["all", "tier", "segment"]>;
587
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
588
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
589
+ }, "strip", z.ZodTypeAny, {
590
+ target: "all" | "segment" | "tier";
591
+ tiers?: string[] | undefined;
592
+ segments?: string[] | undefined;
593
+ }, {
594
+ target: "all" | "segment" | "tier";
595
+ tiers?: string[] | undefined;
596
+ segments?: string[] | undefined;
597
+ }>>;
598
+ limits: z.ZodOptional<z.ZodObject<{
599
+ points: z.ZodOptional<z.ZodObject<{
600
+ value: z.ZodNumber;
601
+ interval: z.ZodOptional<z.ZodObject<{
602
+ type: z.ZodEnum<["days", "weeks", "months", "years", "forever"]>;
603
+ value: z.ZodOptional<z.ZodNumber>;
604
+ }, "strip", z.ZodTypeAny, {
605
+ type: "days" | "weeks" | "months" | "years" | "forever";
606
+ value?: number | undefined;
607
+ }, {
608
+ type: "days" | "weeks" | "months" | "years" | "forever";
609
+ value?: number | undefined;
610
+ }>>;
611
+ }, "strip", z.ZodTypeAny, {
612
+ value: number;
613
+ interval?: {
614
+ type: "days" | "weeks" | "months" | "years" | "forever";
615
+ value?: number | undefined;
616
+ } | undefined;
617
+ }, {
618
+ value: number;
619
+ interval?: {
620
+ type: "days" | "weeks" | "months" | "years" | "forever";
621
+ value?: number | undefined;
622
+ } | undefined;
623
+ }>>;
624
+ pointsPerMember: z.ZodOptional<z.ZodObject<{
625
+ value: z.ZodNumber;
626
+ interval: z.ZodOptional<z.ZodObject<{
627
+ type: z.ZodEnum<["days", "weeks", "months", "years", "forever"]>;
628
+ value: z.ZodOptional<z.ZodNumber>;
629
+ }, "strip", z.ZodTypeAny, {
630
+ type: "days" | "weeks" | "months" | "years" | "forever";
631
+ value?: number | undefined;
632
+ }, {
633
+ type: "days" | "weeks" | "months" | "years" | "forever";
634
+ value?: number | undefined;
635
+ }>>;
636
+ }, "strip", z.ZodTypeAny, {
637
+ value: number;
638
+ interval?: {
639
+ type: "days" | "weeks" | "months" | "years" | "forever";
640
+ value?: number | undefined;
641
+ } | undefined;
642
+ }, {
643
+ value: number;
644
+ interval?: {
645
+ type: "days" | "weeks" | "months" | "years" | "forever";
646
+ value?: number | undefined;
647
+ } | undefined;
648
+ }>>;
649
+ executionsPerMember: z.ZodOptional<z.ZodObject<{
650
+ value: z.ZodNumber;
651
+ interval: z.ZodOptional<z.ZodObject<{
652
+ type: z.ZodEnum<["days", "weeks", "months", "years", "forever"]>;
653
+ value: z.ZodOptional<z.ZodNumber>;
654
+ }, "strip", z.ZodTypeAny, {
655
+ type: "days" | "weeks" | "months" | "years" | "forever";
656
+ value?: number | undefined;
657
+ }, {
658
+ type: "days" | "weeks" | "months" | "years" | "forever";
659
+ value?: number | undefined;
660
+ }>>;
661
+ }, "strip", z.ZodTypeAny, {
662
+ value: number;
663
+ interval?: {
664
+ type: "days" | "weeks" | "months" | "years" | "forever";
665
+ value?: number | undefined;
666
+ } | undefined;
667
+ }, {
668
+ value: number;
669
+ interval?: {
670
+ type: "days" | "weeks" | "months" | "years" | "forever";
671
+ value?: number | undefined;
672
+ } | undefined;
673
+ }>>;
674
+ }, "strip", z.ZodTypeAny, {
675
+ points?: {
676
+ value: number;
677
+ interval?: {
678
+ type: "days" | "weeks" | "months" | "years" | "forever";
679
+ value?: number | undefined;
680
+ } | undefined;
681
+ } | undefined;
682
+ pointsPerMember?: {
683
+ value: number;
684
+ interval?: {
685
+ type: "days" | "weeks" | "months" | "years" | "forever";
686
+ value?: number | undefined;
687
+ } | undefined;
688
+ } | undefined;
689
+ executionsPerMember?: {
690
+ value: number;
691
+ interval?: {
692
+ type: "days" | "weeks" | "months" | "years" | "forever";
693
+ value?: number | undefined;
694
+ } | undefined;
695
+ } | undefined;
696
+ }, {
697
+ points?: {
698
+ value: number;
699
+ interval?: {
700
+ type: "days" | "weeks" | "months" | "years" | "forever";
701
+ value?: number | undefined;
702
+ } | undefined;
703
+ } | undefined;
704
+ pointsPerMember?: {
705
+ value: number;
706
+ interval?: {
707
+ type: "days" | "weeks" | "months" | "years" | "forever";
708
+ value?: number | undefined;
709
+ } | undefined;
710
+ } | undefined;
711
+ executionsPerMember?: {
712
+ value: number;
713
+ interval?: {
714
+ type: "days" | "weeks" | "months" | "years" | "forever";
715
+ value?: number | undefined;
716
+ } | undefined;
717
+ } | undefined;
718
+ }>>;
719
+ active: z.ZodOptional<z.ZodBoolean>;
720
+ displayOrder: z.ZodOptional<z.ZodNumber>;
721
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
722
+ key: z.ZodString;
723
+ value: z.ZodString;
724
+ }, "strip", z.ZodTypeAny, {
725
+ value: string;
726
+ key: string;
727
+ }, {
728
+ value: string;
729
+ key: string;
730
+ }>, "many">>;
731
+ event: z.ZodOptional<z.ZodString>;
732
+ };
733
+ export declare function campaignList(input: {
734
+ storeCode?: string;
735
+ page?: number;
736
+ perPage?: number;
737
+ active?: boolean;
738
+ type?: string;
739
+ trigger?: string;
740
+ }): Promise<{
741
+ campaigns: CampaignListItem[];
742
+ total: {
743
+ all?: number;
744
+ filtered?: number;
745
+ };
746
+ }>;
747
+ export declare function campaignGet(input: {
748
+ storeCode?: string;
749
+ campaignId: string;
750
+ }): Promise<Record<string, unknown>>;
751
+ export declare function campaignUpdate(input: Record<string, unknown>): Promise<void>;
752
+ export declare function campaignPatch(input: {
753
+ storeCode?: string;
754
+ campaignId: string;
755
+ active?: boolean;
756
+ displayOrder?: number;
757
+ }): Promise<void>;
758
+ export declare function campaignDelete(input: {
759
+ storeCode?: string;
760
+ campaignId: string;
761
+ }): Promise<void>;
762
+ interface SimulatedEffect {
763
+ campaignId: string;
764
+ campaignName?: string;
765
+ effects: Array<Record<string, unknown>>;
766
+ limitReached?: boolean;
767
+ }
768
+ interface CampaignSimulateInput {
769
+ storeCode?: string;
770
+ trigger: string;
771
+ transaction?: {
772
+ grossValue?: number;
773
+ documentNumber?: string;
774
+ purchasedAt?: string;
775
+ documentType?: string;
776
+ purchasePlace?: string;
777
+ items?: Array<{
778
+ sku: string;
779
+ name: string;
780
+ qty?: string | number;
781
+ grossValue: string | number;
782
+ category?: string;
783
+ maker?: string;
784
+ labels?: Array<{
785
+ key: string;
786
+ value: string;
787
+ }>;
788
+ }>;
789
+ labels?: Array<{
790
+ key: string;
791
+ value: string;
792
+ }>;
793
+ };
794
+ customEvent?: {
795
+ eventCode: string;
796
+ attributes?: Record<string, unknown>;
797
+ };
798
+ customer: {
799
+ customerId?: string;
800
+ id?: string;
801
+ email?: string;
802
+ loyaltyCardNumber?: string;
803
+ phone?: string;
804
+ firstName?: string;
805
+ lastName?: string;
806
+ };
807
+ referrer?: {
808
+ id?: string;
809
+ email?: string;
810
+ loyaltyCardNumber?: string;
811
+ };
812
+ }
813
+ export declare function campaignSimulate(input: CampaignSimulateInput): Promise<{
814
+ simulatedEffects: SimulatedEffect[];
815
+ evaluationWarnings?: Array<{
816
+ campaignId: string;
817
+ message: string;
818
+ }>;
819
+ simulatedMember?: Record<string, unknown>;
820
+ }>;
821
+ export declare function campaignGenerateCodes(input: {
822
+ storeCode?: string;
823
+ campaignId: string;
824
+ quantity: number;
825
+ }): Promise<{
826
+ codesGenerated: number;
827
+ }>;
828
+ interface CampaignCode {
829
+ codeId: string;
830
+ code: string;
831
+ status: string;
832
+ usedAt?: string;
833
+ createdAt?: string;
834
+ createdBy?: string;
835
+ }
836
+ export declare function campaignListCodes(input: {
837
+ storeCode?: string;
838
+ campaignId: string;
839
+ page?: number;
840
+ perPage?: number;
841
+ status?: string;
842
+ code?: string;
843
+ }): Promise<{
844
+ codes: CampaignCode[];
845
+ total: {
846
+ all?: number;
847
+ filtered?: number;
848
+ };
849
+ }>;
850
+ interface MemberCampaignItem {
851
+ campaignId: string;
852
+ name: string;
853
+ active: boolean;
854
+ type: string;
855
+ trigger: string;
856
+ limitReached?: boolean;
857
+ description?: string;
858
+ }
859
+ export declare function campaignGetAvailable(input: {
860
+ storeCode?: string;
861
+ memberId: string;
862
+ page?: number;
863
+ perPage?: number;
864
+ type?: string;
865
+ trigger?: string;
866
+ }): Promise<{
867
+ campaigns: MemberCampaignItem[];
868
+ total: {
869
+ all?: number;
870
+ filtered?: number;
871
+ };
872
+ }>;
873
+ export declare function campaignGetVisible(input: {
874
+ storeCode?: string;
875
+ memberId: string;
876
+ page?: number;
877
+ perPage?: number;
878
+ active?: boolean;
879
+ }): Promise<{
880
+ campaigns: MemberCampaignItem[];
881
+ total: {
882
+ all?: number;
883
+ filtered?: number;
884
+ };
885
+ }>;
886
+ interface LeaderboardEntry {
887
+ member: {
888
+ customerId: string;
889
+ firstName?: string;
890
+ lastName?: string;
891
+ email?: string;
892
+ loyaltyCardNumber?: string;
893
+ };
894
+ ranking: {
895
+ score: number;
896
+ position: number;
897
+ recalculatedAt?: string;
898
+ changedPositionAt?: string;
899
+ };
900
+ }
901
+ export declare function campaignGetLeaderboard(input: {
902
+ storeCode?: string;
903
+ campaignId: string;
904
+ type?: string;
905
+ }): Promise<{
906
+ entries: LeaderboardEntry[];
907
+ total: {
908
+ all?: number;
909
+ filtered?: number;
910
+ };
911
+ }>;
912
+ interface CampaignCreateInput {
913
+ storeCode?: string;
914
+ type: string;
915
+ trigger: string;
916
+ translations: {
917
+ en: {
918
+ name: string;
919
+ description?: string;
920
+ };
921
+ [key: string]: {
922
+ name: string;
923
+ description?: string;
924
+ };
925
+ };
926
+ activity: {
927
+ startsAt: string;
928
+ endsAt?: string;
929
+ };
930
+ rules: Array<{
931
+ name: string;
932
+ description?: string;
933
+ target?: string;
934
+ effects: Array<{
935
+ effect: string;
936
+ pointsRule?: {
937
+ expression?: string;
938
+ multiplier?: number;
939
+ fixedValue?: number;
940
+ };
941
+ walletCode?: string;
942
+ rewardId?: string;
943
+ customAttributeKey?: string;
944
+ customAttributeValueRule?: string;
945
+ }>;
946
+ conditions?: Array<{
947
+ operator: string;
948
+ attribute: string;
949
+ data?: Record<string, unknown>;
950
+ }>;
951
+ }>;
952
+ visibility?: {
953
+ target: string;
954
+ tiers?: string[];
955
+ segments?: string[];
956
+ };
957
+ audience?: {
958
+ target: string;
959
+ tiers?: string[];
960
+ segments?: string[];
961
+ };
962
+ limits?: {
963
+ points?: {
964
+ value: number;
965
+ interval?: {
966
+ type: string;
967
+ value?: number;
968
+ };
969
+ };
970
+ pointsPerMember?: {
971
+ value: number;
972
+ interval?: {
973
+ type: string;
974
+ value?: number;
975
+ };
976
+ };
977
+ executionsPerMember?: {
978
+ value: number;
979
+ interval?: {
980
+ type: string;
981
+ value?: number;
982
+ };
983
+ };
984
+ };
985
+ active?: boolean;
986
+ displayOrder?: number;
987
+ labels?: Array<{
988
+ key: string;
989
+ value: string;
990
+ }>;
991
+ event?: string;
992
+ }
993
+ export declare function campaignCreate(input: CampaignCreateInput): Promise<{
994
+ campaignId: string;
995
+ }>;
996
+ export declare const campaignToolDefinitions: readonly [{
997
+ readonly name: "openloyalty_campaign_list";
998
+ readonly description: "List all campaigns. Filter by type (direct/referral) or trigger (transaction/custom_event/time/etc). Use campaign_get for full configuration including rules and effects.";
999
+ readonly inputSchema: {
1000
+ storeCode: z.ZodOptional<z.ZodString>;
1001
+ page: z.ZodOptional<z.ZodNumber>;
1002
+ perPage: z.ZodOptional<z.ZodNumber>;
1003
+ active: z.ZodOptional<z.ZodBoolean>;
1004
+ type: z.ZodOptional<z.ZodEnum<["direct", "referral"]>>;
1005
+ trigger: z.ZodOptional<z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>>;
1006
+ };
1007
+ readonly handler: typeof campaignList;
1008
+ }, {
1009
+ readonly name: "openloyalty_campaign_create";
1010
+ readonly description: "Create campaign to automate engagement. Triggers: transaction (purchase-based), custom_event (for custom actions), time (scheduled). Effects: give_points, give_reward, deduct_unit. Rules define when/what happens. Example - Double points: trigger=transaction, effect=give_points with pointsRule containing multiplier:2.";
1011
+ readonly inputSchema: {
1012
+ storeCode: z.ZodOptional<z.ZodString>;
1013
+ type: z.ZodEnum<["direct", "referral"]>;
1014
+ trigger: z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>;
1015
+ translations: z.ZodObject<{
1016
+ en: z.ZodObject<{
1017
+ name: z.ZodString;
1018
+ description: z.ZodOptional<z.ZodString>;
1019
+ }, "strip", z.ZodTypeAny, {
1020
+ name: string;
1021
+ description?: string | undefined;
1022
+ }, {
1023
+ name: string;
1024
+ description?: string | undefined;
1025
+ }>;
1026
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1027
+ en: z.ZodObject<{
1028
+ name: z.ZodString;
1029
+ description: z.ZodOptional<z.ZodString>;
1030
+ }, "strip", z.ZodTypeAny, {
1031
+ name: string;
1032
+ description?: string | undefined;
1033
+ }, {
1034
+ name: string;
1035
+ description?: string | undefined;
1036
+ }>;
1037
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1038
+ en: z.ZodObject<{
1039
+ name: z.ZodString;
1040
+ description: z.ZodOptional<z.ZodString>;
1041
+ }, "strip", z.ZodTypeAny, {
1042
+ name: string;
1043
+ description?: string | undefined;
1044
+ }, {
1045
+ name: string;
1046
+ description?: string | undefined;
1047
+ }>;
1048
+ }, z.ZodTypeAny, "passthrough">>;
1049
+ activity: z.ZodObject<{
1050
+ startsAt: z.ZodString;
1051
+ endsAt: z.ZodOptional<z.ZodString>;
1052
+ }, "strip", z.ZodTypeAny, {
1053
+ startsAt: string;
1054
+ endsAt?: string | undefined;
1055
+ }, {
1056
+ startsAt: string;
1057
+ endsAt?: string | undefined;
1058
+ }>;
1059
+ rules: z.ZodArray<z.ZodObject<{
1060
+ name: z.ZodString;
1061
+ description: z.ZodOptional<z.ZodString>;
1062
+ target: z.ZodOptional<z.ZodEnum<["self", "referrer"]>>;
1063
+ effects: z.ZodArray<z.ZodObject<{
1064
+ effect: z.ZodEnum<["give_points", "give_reward", "deduct_unit", "assign_member_custom_attribute", "remove_member_custom_attribute"]>;
1065
+ pointsRule: z.ZodOptional<z.ZodObject<{
1066
+ expression: z.ZodOptional<z.ZodString>;
1067
+ multiplier: z.ZodOptional<z.ZodNumber>;
1068
+ fixedValue: z.ZodOptional<z.ZodNumber>;
1069
+ }, "strip", z.ZodTypeAny, {
1070
+ expression?: string | undefined;
1071
+ multiplier?: number | undefined;
1072
+ fixedValue?: number | undefined;
1073
+ }, {
1074
+ expression?: string | undefined;
1075
+ multiplier?: number | undefined;
1076
+ fixedValue?: number | undefined;
1077
+ }>>;
1078
+ walletCode: z.ZodOptional<z.ZodString>;
1079
+ rewardId: z.ZodOptional<z.ZodString>;
1080
+ customAttributeKey: z.ZodOptional<z.ZodString>;
1081
+ customAttributeValueRule: z.ZodOptional<z.ZodString>;
1082
+ }, "strip", z.ZodTypeAny, {
1083
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
1084
+ walletCode?: string | undefined;
1085
+ rewardId?: string | undefined;
1086
+ pointsRule?: {
1087
+ expression?: string | undefined;
1088
+ multiplier?: number | undefined;
1089
+ fixedValue?: number | undefined;
1090
+ } | undefined;
1091
+ customAttributeKey?: string | undefined;
1092
+ customAttributeValueRule?: string | undefined;
1093
+ }, {
1094
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
1095
+ walletCode?: string | undefined;
1096
+ rewardId?: string | undefined;
1097
+ pointsRule?: {
1098
+ expression?: string | undefined;
1099
+ multiplier?: number | undefined;
1100
+ fixedValue?: number | undefined;
1101
+ } | undefined;
1102
+ customAttributeKey?: string | undefined;
1103
+ customAttributeValueRule?: string | undefined;
1104
+ }>, "many">;
1105
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1106
+ operator: z.ZodString;
1107
+ attribute: z.ZodString;
1108
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1109
+ }, "strip", z.ZodTypeAny, {
1110
+ attribute: string;
1111
+ operator: string;
1112
+ data?: Record<string, unknown> | undefined;
1113
+ }, {
1114
+ attribute: string;
1115
+ operator: string;
1116
+ data?: Record<string, unknown> | undefined;
1117
+ }>, "many">>;
1118
+ }, "strip", z.ZodTypeAny, {
1119
+ name: string;
1120
+ effects: {
1121
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
1122
+ walletCode?: string | undefined;
1123
+ rewardId?: string | undefined;
1124
+ pointsRule?: {
1125
+ expression?: string | undefined;
1126
+ multiplier?: number | undefined;
1127
+ fixedValue?: number | undefined;
1128
+ } | undefined;
1129
+ customAttributeKey?: string | undefined;
1130
+ customAttributeValueRule?: string | undefined;
1131
+ }[];
1132
+ description?: string | undefined;
1133
+ conditions?: {
1134
+ attribute: string;
1135
+ operator: string;
1136
+ data?: Record<string, unknown> | undefined;
1137
+ }[] | undefined;
1138
+ target?: "self" | "referrer" | undefined;
1139
+ }, {
1140
+ name: string;
1141
+ effects: {
1142
+ effect: "give_points" | "give_reward" | "deduct_unit" | "assign_member_custom_attribute" | "remove_member_custom_attribute";
1143
+ walletCode?: string | undefined;
1144
+ rewardId?: string | undefined;
1145
+ pointsRule?: {
1146
+ expression?: string | undefined;
1147
+ multiplier?: number | undefined;
1148
+ fixedValue?: number | undefined;
1149
+ } | undefined;
1150
+ customAttributeKey?: string | undefined;
1151
+ customAttributeValueRule?: string | undefined;
1152
+ }[];
1153
+ description?: string | undefined;
1154
+ conditions?: {
1155
+ attribute: string;
1156
+ operator: string;
1157
+ data?: Record<string, unknown> | undefined;
1158
+ }[] | undefined;
1159
+ target?: "self" | "referrer" | undefined;
1160
+ }>, "many">;
1161
+ visibility: z.ZodOptional<z.ZodObject<{
1162
+ target: z.ZodEnum<["all", "tier", "segment"]>;
1163
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1164
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1165
+ }, "strip", z.ZodTypeAny, {
1166
+ target: "all" | "segment" | "tier";
1167
+ tiers?: string[] | undefined;
1168
+ segments?: string[] | undefined;
1169
+ }, {
1170
+ target: "all" | "segment" | "tier";
1171
+ tiers?: string[] | undefined;
1172
+ segments?: string[] | undefined;
1173
+ }>>;
1174
+ audience: z.ZodOptional<z.ZodObject<{
1175
+ target: z.ZodEnum<["all", "tier", "segment"]>;
1176
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1177
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1178
+ }, "strip", z.ZodTypeAny, {
1179
+ target: "all" | "segment" | "tier";
1180
+ tiers?: string[] | undefined;
1181
+ segments?: string[] | undefined;
1182
+ }, {
1183
+ target: "all" | "segment" | "tier";
1184
+ tiers?: string[] | undefined;
1185
+ segments?: string[] | undefined;
1186
+ }>>;
1187
+ limits: z.ZodOptional<z.ZodObject<{
1188
+ points: z.ZodOptional<z.ZodObject<{
1189
+ value: z.ZodNumber;
1190
+ interval: z.ZodOptional<z.ZodObject<{
1191
+ type: z.ZodEnum<["days", "weeks", "months", "years", "forever"]>;
1192
+ value: z.ZodOptional<z.ZodNumber>;
1193
+ }, "strip", z.ZodTypeAny, {
1194
+ type: "days" | "weeks" | "months" | "years" | "forever";
1195
+ value?: number | undefined;
1196
+ }, {
1197
+ type: "days" | "weeks" | "months" | "years" | "forever";
1198
+ value?: number | undefined;
1199
+ }>>;
1200
+ }, "strip", z.ZodTypeAny, {
1201
+ value: number;
1202
+ interval?: {
1203
+ type: "days" | "weeks" | "months" | "years" | "forever";
1204
+ value?: number | undefined;
1205
+ } | undefined;
1206
+ }, {
1207
+ value: number;
1208
+ interval?: {
1209
+ type: "days" | "weeks" | "months" | "years" | "forever";
1210
+ value?: number | undefined;
1211
+ } | undefined;
1212
+ }>>;
1213
+ pointsPerMember: z.ZodOptional<z.ZodObject<{
1214
+ value: z.ZodNumber;
1215
+ interval: z.ZodOptional<z.ZodObject<{
1216
+ type: z.ZodEnum<["days", "weeks", "months", "years", "forever"]>;
1217
+ value: z.ZodOptional<z.ZodNumber>;
1218
+ }, "strip", z.ZodTypeAny, {
1219
+ type: "days" | "weeks" | "months" | "years" | "forever";
1220
+ value?: number | undefined;
1221
+ }, {
1222
+ type: "days" | "weeks" | "months" | "years" | "forever";
1223
+ value?: number | undefined;
1224
+ }>>;
1225
+ }, "strip", z.ZodTypeAny, {
1226
+ value: number;
1227
+ interval?: {
1228
+ type: "days" | "weeks" | "months" | "years" | "forever";
1229
+ value?: number | undefined;
1230
+ } | undefined;
1231
+ }, {
1232
+ value: number;
1233
+ interval?: {
1234
+ type: "days" | "weeks" | "months" | "years" | "forever";
1235
+ value?: number | undefined;
1236
+ } | undefined;
1237
+ }>>;
1238
+ executionsPerMember: z.ZodOptional<z.ZodObject<{
1239
+ value: z.ZodNumber;
1240
+ interval: z.ZodOptional<z.ZodObject<{
1241
+ type: z.ZodEnum<["days", "weeks", "months", "years", "forever"]>;
1242
+ value: z.ZodOptional<z.ZodNumber>;
1243
+ }, "strip", z.ZodTypeAny, {
1244
+ type: "days" | "weeks" | "months" | "years" | "forever";
1245
+ value?: number | undefined;
1246
+ }, {
1247
+ type: "days" | "weeks" | "months" | "years" | "forever";
1248
+ value?: number | undefined;
1249
+ }>>;
1250
+ }, "strip", z.ZodTypeAny, {
1251
+ value: number;
1252
+ interval?: {
1253
+ type: "days" | "weeks" | "months" | "years" | "forever";
1254
+ value?: number | undefined;
1255
+ } | undefined;
1256
+ }, {
1257
+ value: number;
1258
+ interval?: {
1259
+ type: "days" | "weeks" | "months" | "years" | "forever";
1260
+ value?: number | undefined;
1261
+ } | undefined;
1262
+ }>>;
1263
+ }, "strip", z.ZodTypeAny, {
1264
+ points?: {
1265
+ value: number;
1266
+ interval?: {
1267
+ type: "days" | "weeks" | "months" | "years" | "forever";
1268
+ value?: number | undefined;
1269
+ } | undefined;
1270
+ } | undefined;
1271
+ pointsPerMember?: {
1272
+ value: number;
1273
+ interval?: {
1274
+ type: "days" | "weeks" | "months" | "years" | "forever";
1275
+ value?: number | undefined;
1276
+ } | undefined;
1277
+ } | undefined;
1278
+ executionsPerMember?: {
1279
+ value: number;
1280
+ interval?: {
1281
+ type: "days" | "weeks" | "months" | "years" | "forever";
1282
+ value?: number | undefined;
1283
+ } | undefined;
1284
+ } | undefined;
1285
+ }, {
1286
+ points?: {
1287
+ value: number;
1288
+ interval?: {
1289
+ type: "days" | "weeks" | "months" | "years" | "forever";
1290
+ value?: number | undefined;
1291
+ } | undefined;
1292
+ } | undefined;
1293
+ pointsPerMember?: {
1294
+ value: number;
1295
+ interval?: {
1296
+ type: "days" | "weeks" | "months" | "years" | "forever";
1297
+ value?: number | undefined;
1298
+ } | undefined;
1299
+ } | undefined;
1300
+ executionsPerMember?: {
1301
+ value: number;
1302
+ interval?: {
1303
+ type: "days" | "weeks" | "months" | "years" | "forever";
1304
+ value?: number | undefined;
1305
+ } | undefined;
1306
+ } | undefined;
1307
+ }>>;
1308
+ active: z.ZodOptional<z.ZodBoolean>;
1309
+ displayOrder: z.ZodOptional<z.ZodNumber>;
1310
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
1311
+ key: z.ZodString;
1312
+ value: z.ZodString;
1313
+ }, "strip", z.ZodTypeAny, {
1314
+ value: string;
1315
+ key: string;
1316
+ }, {
1317
+ value: string;
1318
+ key: string;
1319
+ }>, "many">>;
1320
+ event: z.ZodOptional<z.ZodString>;
1321
+ };
1322
+ readonly handler: typeof campaignCreate;
1323
+ }, {
1324
+ readonly name: "openloyalty_campaign_get";
1325
+ readonly description: "Get full campaign configuration including all rules, conditions, effects, and targeting.";
1326
+ readonly inputSchema: {
1327
+ storeCode: z.ZodOptional<z.ZodString>;
1328
+ campaignId: z.ZodString;
1329
+ };
1330
+ readonly handler: typeof campaignGet;
1331
+ }, {
1332
+ readonly name: "openloyalty_campaign_update";
1333
+ readonly description: "Full update of campaign configuration. Requires all campaign fields. Use campaign_get first to retrieve current configuration, modify it, then send the complete object.";
1334
+ readonly inputSchema: {
1335
+ storeCode: z.ZodOptional<z.ZodString>;
1336
+ campaignId: z.ZodString;
1337
+ type: z.ZodEnum<["direct", "referral"]>;
1338
+ trigger: z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>;
1339
+ translations: z.ZodObject<{
1340
+ en: z.ZodObject<{
1341
+ name: z.ZodString;
1342
+ description: z.ZodOptional<z.ZodString>;
1343
+ }, "strip", z.ZodTypeAny, {
1344
+ name: string;
1345
+ description?: string | undefined;
1346
+ }, {
1347
+ name: string;
1348
+ description?: string | undefined;
1349
+ }>;
1350
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1351
+ en: z.ZodObject<{
1352
+ name: z.ZodString;
1353
+ description: z.ZodOptional<z.ZodString>;
1354
+ }, "strip", z.ZodTypeAny, {
1355
+ name: string;
1356
+ description?: string | undefined;
1357
+ }, {
1358
+ name: string;
1359
+ description?: string | undefined;
1360
+ }>;
1361
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1362
+ en: z.ZodObject<{
1363
+ name: z.ZodString;
1364
+ description: z.ZodOptional<z.ZodString>;
1365
+ }, "strip", z.ZodTypeAny, {
1366
+ name: string;
1367
+ description?: string | undefined;
1368
+ }, {
1369
+ name: string;
1370
+ description?: string | undefined;
1371
+ }>;
1372
+ }, z.ZodTypeAny, "passthrough">>;
1373
+ activity: z.ZodObject<{
1374
+ startsAt: z.ZodString;
1375
+ endsAt: z.ZodOptional<z.ZodString>;
1376
+ }, "strip", z.ZodTypeAny, {
1377
+ startsAt: string;
1378
+ endsAt?: string | undefined;
1379
+ }, {
1380
+ startsAt: string;
1381
+ endsAt?: string | undefined;
1382
+ }>;
1383
+ rules: z.ZodArray<z.ZodObject<{
1384
+ name: z.ZodString;
1385
+ description: z.ZodOptional<z.ZodString>;
1386
+ target: z.ZodOptional<z.ZodEnum<["self", "referrer"]>>;
1387
+ effects: z.ZodArray<z.ZodObject<{
1388
+ effect: z.ZodString;
1389
+ pointsRule: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1390
+ walletCode: z.ZodOptional<z.ZodString>;
1391
+ rewardId: z.ZodOptional<z.ZodString>;
1392
+ }, "strip", z.ZodTypeAny, {
1393
+ effect: string;
1394
+ walletCode?: string | undefined;
1395
+ rewardId?: string | undefined;
1396
+ pointsRule?: Record<string, unknown> | undefined;
1397
+ }, {
1398
+ effect: string;
1399
+ walletCode?: string | undefined;
1400
+ rewardId?: string | undefined;
1401
+ pointsRule?: Record<string, unknown> | undefined;
1402
+ }>, "many">;
1403
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1404
+ operator: z.ZodString;
1405
+ attribute: z.ZodString;
1406
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1407
+ }, "strip", z.ZodTypeAny, {
1408
+ attribute: string;
1409
+ operator: string;
1410
+ data?: Record<string, unknown> | undefined;
1411
+ }, {
1412
+ attribute: string;
1413
+ operator: string;
1414
+ data?: Record<string, unknown> | undefined;
1415
+ }>, "many">>;
1416
+ }, "strip", z.ZodTypeAny, {
1417
+ name: string;
1418
+ effects: {
1419
+ effect: string;
1420
+ walletCode?: string | undefined;
1421
+ rewardId?: string | undefined;
1422
+ pointsRule?: Record<string, unknown> | undefined;
1423
+ }[];
1424
+ description?: string | undefined;
1425
+ conditions?: {
1426
+ attribute: string;
1427
+ operator: string;
1428
+ data?: Record<string, unknown> | undefined;
1429
+ }[] | undefined;
1430
+ target?: "self" | "referrer" | undefined;
1431
+ }, {
1432
+ name: string;
1433
+ effects: {
1434
+ effect: string;
1435
+ walletCode?: string | undefined;
1436
+ rewardId?: string | undefined;
1437
+ pointsRule?: Record<string, unknown> | undefined;
1438
+ }[];
1439
+ description?: string | undefined;
1440
+ conditions?: {
1441
+ attribute: string;
1442
+ operator: string;
1443
+ data?: Record<string, unknown> | undefined;
1444
+ }[] | undefined;
1445
+ target?: "self" | "referrer" | undefined;
1446
+ }>, "many">;
1447
+ visibility: z.ZodOptional<z.ZodObject<{
1448
+ target: z.ZodEnum<["all", "tier", "segment"]>;
1449
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1450
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1451
+ }, "strip", z.ZodTypeAny, {
1452
+ target: "all" | "segment" | "tier";
1453
+ tiers?: string[] | undefined;
1454
+ segments?: string[] | undefined;
1455
+ }, {
1456
+ target: "all" | "segment" | "tier";
1457
+ tiers?: string[] | undefined;
1458
+ segments?: string[] | undefined;
1459
+ }>>;
1460
+ audience: z.ZodOptional<z.ZodObject<{
1461
+ target: z.ZodEnum<["all", "tier", "segment"]>;
1462
+ tiers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1463
+ segments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ target: "all" | "segment" | "tier";
1466
+ tiers?: string[] | undefined;
1467
+ segments?: string[] | undefined;
1468
+ }, {
1469
+ target: "all" | "segment" | "tier";
1470
+ tiers?: string[] | undefined;
1471
+ segments?: string[] | undefined;
1472
+ }>>;
1473
+ limits: z.ZodOptional<z.ZodObject<{
1474
+ points: z.ZodOptional<z.ZodObject<{
1475
+ value: z.ZodNumber;
1476
+ interval: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1477
+ }, "strip", z.ZodTypeAny, {
1478
+ value: number;
1479
+ interval?: Record<string, unknown> | undefined;
1480
+ }, {
1481
+ value: number;
1482
+ interval?: Record<string, unknown> | undefined;
1483
+ }>>;
1484
+ pointsPerMember: z.ZodOptional<z.ZodObject<{
1485
+ value: z.ZodNumber;
1486
+ interval: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1487
+ }, "strip", z.ZodTypeAny, {
1488
+ value: number;
1489
+ interval?: Record<string, unknown> | undefined;
1490
+ }, {
1491
+ value: number;
1492
+ interval?: Record<string, unknown> | undefined;
1493
+ }>>;
1494
+ executionsPerMember: z.ZodOptional<z.ZodObject<{
1495
+ value: z.ZodNumber;
1496
+ interval: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1497
+ }, "strip", z.ZodTypeAny, {
1498
+ value: number;
1499
+ interval?: Record<string, unknown> | undefined;
1500
+ }, {
1501
+ value: number;
1502
+ interval?: Record<string, unknown> | undefined;
1503
+ }>>;
1504
+ }, "strip", z.ZodTypeAny, {
1505
+ points?: {
1506
+ value: number;
1507
+ interval?: Record<string, unknown> | undefined;
1508
+ } | undefined;
1509
+ pointsPerMember?: {
1510
+ value: number;
1511
+ interval?: Record<string, unknown> | undefined;
1512
+ } | undefined;
1513
+ executionsPerMember?: {
1514
+ value: number;
1515
+ interval?: Record<string, unknown> | undefined;
1516
+ } | undefined;
1517
+ }, {
1518
+ points?: {
1519
+ value: number;
1520
+ interval?: Record<string, unknown> | undefined;
1521
+ } | undefined;
1522
+ pointsPerMember?: {
1523
+ value: number;
1524
+ interval?: Record<string, unknown> | undefined;
1525
+ } | undefined;
1526
+ executionsPerMember?: {
1527
+ value: number;
1528
+ interval?: Record<string, unknown> | undefined;
1529
+ } | undefined;
1530
+ }>>;
1531
+ active: z.ZodOptional<z.ZodBoolean>;
1532
+ displayOrder: z.ZodOptional<z.ZodNumber>;
1533
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
1534
+ key: z.ZodString;
1535
+ value: z.ZodString;
1536
+ }, "strip", z.ZodTypeAny, {
1537
+ value: string;
1538
+ key: string;
1539
+ }, {
1540
+ value: string;
1541
+ key: string;
1542
+ }>, "many">>;
1543
+ event: z.ZodOptional<z.ZodString>;
1544
+ };
1545
+ readonly handler: typeof campaignUpdate;
1546
+ }, {
1547
+ readonly name: "openloyalty_campaign_patch";
1548
+ readonly description: "Partial update of campaign - only active status and displayOrder can be patched. For full updates, use campaign_update.";
1549
+ readonly inputSchema: {
1550
+ storeCode: z.ZodOptional<z.ZodString>;
1551
+ campaignId: z.ZodString;
1552
+ active: z.ZodOptional<z.ZodBoolean>;
1553
+ displayOrder: z.ZodOptional<z.ZodNumber>;
1554
+ };
1555
+ readonly handler: typeof campaignPatch;
1556
+ }, {
1557
+ readonly name: "openloyalty_campaign_delete";
1558
+ readonly description: "Permanently delete a campaign. This cannot be undone. Consider deactivating instead if you may need the campaign later.";
1559
+ readonly inputSchema: {
1560
+ storeCode: z.ZodOptional<z.ZodString>;
1561
+ campaignId: z.ZodString;
1562
+ };
1563
+ readonly handler: typeof campaignDelete;
1564
+ }, {
1565
+ readonly name: "openloyalty_campaign_simulate";
1566
+ readonly description: "Simulate campaign effects without executing them. Use to preview what points/rewards a transaction would earn. Provide trigger type, transaction/event data, and customer. Returns simulated effects grouped by campaign.";
1567
+ readonly inputSchema: {
1568
+ storeCode: z.ZodOptional<z.ZodString>;
1569
+ trigger: z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>;
1570
+ transaction: z.ZodOptional<z.ZodObject<{
1571
+ grossValue: z.ZodOptional<z.ZodNumber>;
1572
+ documentNumber: z.ZodOptional<z.ZodString>;
1573
+ purchasedAt: z.ZodOptional<z.ZodString>;
1574
+ documentType: z.ZodOptional<z.ZodEnum<["sell", "return"]>>;
1575
+ purchasePlace: z.ZodOptional<z.ZodString>;
1576
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
1577
+ sku: z.ZodString;
1578
+ name: z.ZodString;
1579
+ qty: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1580
+ grossValue: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
1581
+ category: z.ZodOptional<z.ZodString>;
1582
+ maker: z.ZodOptional<z.ZodString>;
1583
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
1584
+ key: z.ZodString;
1585
+ value: z.ZodString;
1586
+ }, "strip", z.ZodTypeAny, {
1587
+ value: string;
1588
+ key: string;
1589
+ }, {
1590
+ value: string;
1591
+ key: string;
1592
+ }>, "many">>;
1593
+ }, "strip", z.ZodTypeAny, {
1594
+ name: string;
1595
+ sku: string;
1596
+ grossValue: string | number;
1597
+ labels?: {
1598
+ value: string;
1599
+ key: string;
1600
+ }[] | undefined;
1601
+ category?: string | undefined;
1602
+ maker?: string | undefined;
1603
+ qty?: string | number | undefined;
1604
+ }, {
1605
+ name: string;
1606
+ sku: string;
1607
+ grossValue: string | number;
1608
+ labels?: {
1609
+ value: string;
1610
+ key: string;
1611
+ }[] | undefined;
1612
+ category?: string | undefined;
1613
+ maker?: string | undefined;
1614
+ qty?: string | number | undefined;
1615
+ }>, "many">>;
1616
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
1617
+ key: z.ZodString;
1618
+ value: z.ZodString;
1619
+ }, "strip", z.ZodTypeAny, {
1620
+ value: string;
1621
+ key: string;
1622
+ }, {
1623
+ value: string;
1624
+ key: string;
1625
+ }>, "many">>;
1626
+ }, "strip", z.ZodTypeAny, {
1627
+ items?: {
1628
+ name: string;
1629
+ sku: string;
1630
+ grossValue: string | number;
1631
+ labels?: {
1632
+ value: string;
1633
+ key: string;
1634
+ }[] | undefined;
1635
+ category?: string | undefined;
1636
+ maker?: string | undefined;
1637
+ qty?: string | number | undefined;
1638
+ }[] | undefined;
1639
+ documentNumber?: string | undefined;
1640
+ purchasedAt?: string | undefined;
1641
+ documentType?: "sell" | "return" | undefined;
1642
+ purchasePlace?: string | undefined;
1643
+ labels?: {
1644
+ value: string;
1645
+ key: string;
1646
+ }[] | undefined;
1647
+ grossValue?: number | undefined;
1648
+ }, {
1649
+ items?: {
1650
+ name: string;
1651
+ sku: string;
1652
+ grossValue: string | number;
1653
+ labels?: {
1654
+ value: string;
1655
+ key: string;
1656
+ }[] | undefined;
1657
+ category?: string | undefined;
1658
+ maker?: string | undefined;
1659
+ qty?: string | number | undefined;
1660
+ }[] | undefined;
1661
+ documentNumber?: string | undefined;
1662
+ purchasedAt?: string | undefined;
1663
+ documentType?: "sell" | "return" | undefined;
1664
+ purchasePlace?: string | undefined;
1665
+ labels?: {
1666
+ value: string;
1667
+ key: string;
1668
+ }[] | undefined;
1669
+ grossValue?: number | undefined;
1670
+ }>>;
1671
+ customEvent: z.ZodOptional<z.ZodObject<{
1672
+ eventCode: z.ZodString;
1673
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1674
+ }, "strip", z.ZodTypeAny, {
1675
+ eventCode: string;
1676
+ attributes?: Record<string, unknown> | undefined;
1677
+ }, {
1678
+ eventCode: string;
1679
+ attributes?: Record<string, unknown> | undefined;
1680
+ }>>;
1681
+ customer: z.ZodObject<{
1682
+ customerId: z.ZodOptional<z.ZodString>;
1683
+ id: z.ZodOptional<z.ZodString>;
1684
+ email: z.ZodOptional<z.ZodString>;
1685
+ loyaltyCardNumber: z.ZodOptional<z.ZodString>;
1686
+ phone: z.ZodOptional<z.ZodString>;
1687
+ firstName: z.ZodOptional<z.ZodString>;
1688
+ lastName: z.ZodOptional<z.ZodString>;
1689
+ }, "strip", z.ZodTypeAny, {
1690
+ id?: string | undefined;
1691
+ email?: string | undefined;
1692
+ firstName?: string | undefined;
1693
+ lastName?: string | undefined;
1694
+ phone?: string | undefined;
1695
+ loyaltyCardNumber?: string | undefined;
1696
+ customerId?: string | undefined;
1697
+ }, {
1698
+ id?: string | undefined;
1699
+ email?: string | undefined;
1700
+ firstName?: string | undefined;
1701
+ lastName?: string | undefined;
1702
+ phone?: string | undefined;
1703
+ loyaltyCardNumber?: string | undefined;
1704
+ customerId?: string | undefined;
1705
+ }>;
1706
+ referrer: z.ZodOptional<z.ZodObject<{
1707
+ id: z.ZodOptional<z.ZodString>;
1708
+ email: z.ZodOptional<z.ZodString>;
1709
+ loyaltyCardNumber: z.ZodOptional<z.ZodString>;
1710
+ }, "strip", z.ZodTypeAny, {
1711
+ id?: string | undefined;
1712
+ email?: string | undefined;
1713
+ loyaltyCardNumber?: string | undefined;
1714
+ }, {
1715
+ id?: string | undefined;
1716
+ email?: string | undefined;
1717
+ loyaltyCardNumber?: string | undefined;
1718
+ }>>;
1719
+ };
1720
+ readonly handler: typeof campaignSimulate;
1721
+ }, {
1722
+ readonly name: "openloyalty_campaign_generate_codes";
1723
+ readonly description: "Generate unique redemption codes for a campaign. Use for promotions requiring unique codes. Codes are auto-generated and can be retrieved with campaign_list_codes.";
1724
+ readonly inputSchema: {
1725
+ storeCode: z.ZodOptional<z.ZodString>;
1726
+ campaignId: z.ZodString;
1727
+ quantity: z.ZodNumber;
1728
+ };
1729
+ readonly handler: typeof campaignGenerateCodes;
1730
+ }, {
1731
+ readonly name: "openloyalty_campaign_list_codes";
1732
+ readonly description: "List redemption codes for a campaign. Filter by status (active/used) or specific code. Returns code details including usage status.";
1733
+ readonly inputSchema: {
1734
+ storeCode: z.ZodOptional<z.ZodString>;
1735
+ campaignId: z.ZodString;
1736
+ page: z.ZodOptional<z.ZodNumber>;
1737
+ perPage: z.ZodOptional<z.ZodNumber>;
1738
+ status: z.ZodOptional<z.ZodString>;
1739
+ code: z.ZodOptional<z.ZodString>;
1740
+ };
1741
+ readonly handler: typeof campaignListCodes;
1742
+ }, {
1743
+ readonly name: "openloyalty_campaign_get_available";
1744
+ readonly description: "Get campaigns available to a specific member. Returns campaigns the member can participate in based on their tier, segments, and campaign targeting rules. Includes limitReached indicator.";
1745
+ readonly inputSchema: {
1746
+ storeCode: z.ZodOptional<z.ZodString>;
1747
+ memberId: z.ZodString;
1748
+ page: z.ZodOptional<z.ZodNumber>;
1749
+ perPage: z.ZodOptional<z.ZodNumber>;
1750
+ type: z.ZodOptional<z.ZodEnum<["direct", "referral"]>>;
1751
+ trigger: z.ZodOptional<z.ZodEnum<["transaction", "custom_event", "time", "achievement", "custom_event_unique_code", "leaderboard", "internal_event", "return_transaction", "challenge", "fortune_wheel"]>>;
1752
+ };
1753
+ readonly handler: typeof campaignGetAvailable;
1754
+ }, {
1755
+ readonly name: "openloyalty_campaign_get_visible";
1756
+ readonly description: "Get campaigns visible to a specific member. May include campaigns not yet available (e.g., upcoming campaigns or those requiring certain conditions). Use get_available for campaigns the member can currently participate in.";
1757
+ readonly inputSchema: {
1758
+ storeCode: z.ZodOptional<z.ZodString>;
1759
+ memberId: z.ZodString;
1760
+ page: z.ZodOptional<z.ZodNumber>;
1761
+ perPage: z.ZodOptional<z.ZodNumber>;
1762
+ active: z.ZodOptional<z.ZodBoolean>;
1763
+ };
1764
+ readonly handler: typeof campaignGetVisible;
1765
+ }, {
1766
+ readonly name: "openloyalty_campaign_get_leaderboard";
1767
+ readonly description: "Get leaderboard rankings for a campaign. Returns ranked list of members with scores and positions. Use for leaderboard-type campaigns to show competition standings.";
1768
+ readonly inputSchema: {
1769
+ storeCode: z.ZodOptional<z.ZodString>;
1770
+ campaignId: z.ZodString;
1771
+ type: z.ZodOptional<z.ZodString>;
1772
+ };
1773
+ readonly handler: typeof campaignGetLeaderboard;
1774
+ }];
1775
+ export {};