@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,797 @@
1
+ import { z } from "zod";
2
+ import { SegmentListItem } from "../types/schemas/segment.js";
3
+ export declare const SegmentListInputSchema: {
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
+ name: z.ZodOptional<z.ZodString>;
9
+ };
10
+ export declare const SegmentCreateInputSchema: {
11
+ storeCode: z.ZodOptional<z.ZodString>;
12
+ name: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ active: z.ZodOptional<z.ZodBoolean>;
15
+ parts: z.ZodArray<z.ZodObject<{
16
+ segmentPartId: z.ZodOptional<z.ZodString>;
17
+ criteria: z.ZodArray<z.ZodObject<{
18
+ type: z.ZodString;
19
+ criterionId: z.ZodOptional<z.ZodString>;
20
+ days: z.ZodOptional<z.ZodNumber>;
21
+ fromDate: z.ZodOptional<z.ZodString>;
22
+ toDate: z.ZodOptional<z.ZodString>;
23
+ min: z.ZodOptional<z.ZodNumber>;
24
+ max: z.ZodOptional<z.ZodNumber>;
25
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
27
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
29
+ key: z.ZodString;
30
+ value: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ value: string;
33
+ key: string;
34
+ }, {
35
+ value: string;
36
+ key: string;
37
+ }>, "many">>;
38
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
39
+ campaignId: z.ZodOptional<z.ZodString>;
40
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
41
+ anniversaryType: z.ZodOptional<z.ZodString>;
42
+ customAttributeKey: z.ZodOptional<z.ZodString>;
43
+ customAttributeValue: z.ZodOptional<z.ZodString>;
44
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
45
+ type: z.ZodString;
46
+ criterionId: z.ZodOptional<z.ZodString>;
47
+ days: z.ZodOptional<z.ZodNumber>;
48
+ fromDate: z.ZodOptional<z.ZodString>;
49
+ toDate: z.ZodOptional<z.ZodString>;
50
+ min: z.ZodOptional<z.ZodNumber>;
51
+ max: z.ZodOptional<z.ZodNumber>;
52
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
54
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
55
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
+ key: z.ZodString;
57
+ value: z.ZodString;
58
+ }, "strip", z.ZodTypeAny, {
59
+ value: string;
60
+ key: string;
61
+ }, {
62
+ value: string;
63
+ key: string;
64
+ }>, "many">>;
65
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
66
+ campaignId: z.ZodOptional<z.ZodString>;
67
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
68
+ anniversaryType: z.ZodOptional<z.ZodString>;
69
+ customAttributeKey: z.ZodOptional<z.ZodString>;
70
+ customAttributeValue: z.ZodOptional<z.ZodString>;
71
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
72
+ type: z.ZodString;
73
+ criterionId: z.ZodOptional<z.ZodString>;
74
+ days: z.ZodOptional<z.ZodNumber>;
75
+ fromDate: z.ZodOptional<z.ZodString>;
76
+ toDate: z.ZodOptional<z.ZodString>;
77
+ min: z.ZodOptional<z.ZodNumber>;
78
+ max: z.ZodOptional<z.ZodNumber>;
79
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
80
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
81
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
82
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
83
+ key: z.ZodString;
84
+ value: z.ZodString;
85
+ }, "strip", z.ZodTypeAny, {
86
+ value: string;
87
+ key: string;
88
+ }, {
89
+ value: string;
90
+ key: string;
91
+ }>, "many">>;
92
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
93
+ campaignId: z.ZodOptional<z.ZodString>;
94
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
95
+ anniversaryType: z.ZodOptional<z.ZodString>;
96
+ customAttributeKey: z.ZodOptional<z.ZodString>;
97
+ customAttributeValue: z.ZodOptional<z.ZodString>;
98
+ }, z.ZodTypeAny, "passthrough">>, "many">;
99
+ }, "strip", z.ZodTypeAny, {
100
+ criteria: z.objectOutputType<{
101
+ type: z.ZodString;
102
+ criterionId: z.ZodOptional<z.ZodString>;
103
+ days: z.ZodOptional<z.ZodNumber>;
104
+ fromDate: z.ZodOptional<z.ZodString>;
105
+ toDate: z.ZodOptional<z.ZodString>;
106
+ min: z.ZodOptional<z.ZodNumber>;
107
+ max: z.ZodOptional<z.ZodNumber>;
108
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
109
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
110
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
111
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
112
+ key: z.ZodString;
113
+ value: z.ZodString;
114
+ }, "strip", z.ZodTypeAny, {
115
+ value: string;
116
+ key: string;
117
+ }, {
118
+ value: string;
119
+ key: string;
120
+ }>, "many">>;
121
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
122
+ campaignId: z.ZodOptional<z.ZodString>;
123
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
124
+ anniversaryType: z.ZodOptional<z.ZodString>;
125
+ customAttributeKey: z.ZodOptional<z.ZodString>;
126
+ customAttributeValue: z.ZodOptional<z.ZodString>;
127
+ }, z.ZodTypeAny, "passthrough">[];
128
+ segmentPartId?: string | undefined;
129
+ }, {
130
+ criteria: z.objectInputType<{
131
+ type: z.ZodString;
132
+ criterionId: z.ZodOptional<z.ZodString>;
133
+ days: z.ZodOptional<z.ZodNumber>;
134
+ fromDate: z.ZodOptional<z.ZodString>;
135
+ toDate: z.ZodOptional<z.ZodString>;
136
+ min: z.ZodOptional<z.ZodNumber>;
137
+ max: z.ZodOptional<z.ZodNumber>;
138
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
139
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
140
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
141
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
142
+ key: z.ZodString;
143
+ value: z.ZodString;
144
+ }, "strip", z.ZodTypeAny, {
145
+ value: string;
146
+ key: string;
147
+ }, {
148
+ value: string;
149
+ key: string;
150
+ }>, "many">>;
151
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
152
+ campaignId: z.ZodOptional<z.ZodString>;
153
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
154
+ anniversaryType: z.ZodOptional<z.ZodString>;
155
+ customAttributeKey: z.ZodOptional<z.ZodString>;
156
+ customAttributeValue: z.ZodOptional<z.ZodString>;
157
+ }, z.ZodTypeAny, "passthrough">[];
158
+ segmentPartId?: string | undefined;
159
+ }>, "many">;
160
+ };
161
+ export declare const SegmentGetInputSchema: {
162
+ storeCode: z.ZodOptional<z.ZodString>;
163
+ segmentId: z.ZodString;
164
+ };
165
+ export declare const SegmentUpdateInputSchema: {
166
+ storeCode: z.ZodOptional<z.ZodString>;
167
+ segmentId: z.ZodString;
168
+ name: z.ZodString;
169
+ description: z.ZodOptional<z.ZodString>;
170
+ active: z.ZodOptional<z.ZodBoolean>;
171
+ parts: z.ZodArray<z.ZodObject<{
172
+ segmentPartId: z.ZodOptional<z.ZodString>;
173
+ criteria: z.ZodArray<z.ZodObject<{
174
+ type: z.ZodString;
175
+ criterionId: z.ZodOptional<z.ZodString>;
176
+ days: z.ZodOptional<z.ZodNumber>;
177
+ fromDate: z.ZodOptional<z.ZodString>;
178
+ toDate: z.ZodOptional<z.ZodString>;
179
+ min: z.ZodOptional<z.ZodNumber>;
180
+ max: z.ZodOptional<z.ZodNumber>;
181
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
182
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
183
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
184
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
185
+ key: z.ZodString;
186
+ value: z.ZodString;
187
+ }, "strip", z.ZodTypeAny, {
188
+ value: string;
189
+ key: string;
190
+ }, {
191
+ value: string;
192
+ key: string;
193
+ }>, "many">>;
194
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
195
+ campaignId: z.ZodOptional<z.ZodString>;
196
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
197
+ anniversaryType: z.ZodOptional<z.ZodString>;
198
+ customAttributeKey: z.ZodOptional<z.ZodString>;
199
+ customAttributeValue: z.ZodOptional<z.ZodString>;
200
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
201
+ type: z.ZodString;
202
+ criterionId: z.ZodOptional<z.ZodString>;
203
+ days: z.ZodOptional<z.ZodNumber>;
204
+ fromDate: z.ZodOptional<z.ZodString>;
205
+ toDate: z.ZodOptional<z.ZodString>;
206
+ min: z.ZodOptional<z.ZodNumber>;
207
+ max: z.ZodOptional<z.ZodNumber>;
208
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
209
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
210
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
211
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
212
+ key: z.ZodString;
213
+ value: z.ZodString;
214
+ }, "strip", z.ZodTypeAny, {
215
+ value: string;
216
+ key: string;
217
+ }, {
218
+ value: string;
219
+ key: string;
220
+ }>, "many">>;
221
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
222
+ campaignId: z.ZodOptional<z.ZodString>;
223
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
224
+ anniversaryType: z.ZodOptional<z.ZodString>;
225
+ customAttributeKey: z.ZodOptional<z.ZodString>;
226
+ customAttributeValue: z.ZodOptional<z.ZodString>;
227
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
228
+ type: z.ZodString;
229
+ criterionId: z.ZodOptional<z.ZodString>;
230
+ days: z.ZodOptional<z.ZodNumber>;
231
+ fromDate: z.ZodOptional<z.ZodString>;
232
+ toDate: z.ZodOptional<z.ZodString>;
233
+ min: z.ZodOptional<z.ZodNumber>;
234
+ max: z.ZodOptional<z.ZodNumber>;
235
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
236
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
237
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
238
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
239
+ key: z.ZodString;
240
+ value: z.ZodString;
241
+ }, "strip", z.ZodTypeAny, {
242
+ value: string;
243
+ key: string;
244
+ }, {
245
+ value: string;
246
+ key: string;
247
+ }>, "many">>;
248
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
249
+ campaignId: z.ZodOptional<z.ZodString>;
250
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
251
+ anniversaryType: z.ZodOptional<z.ZodString>;
252
+ customAttributeKey: z.ZodOptional<z.ZodString>;
253
+ customAttributeValue: z.ZodOptional<z.ZodString>;
254
+ }, z.ZodTypeAny, "passthrough">>, "many">;
255
+ }, "strip", z.ZodTypeAny, {
256
+ criteria: z.objectOutputType<{
257
+ type: z.ZodString;
258
+ criterionId: z.ZodOptional<z.ZodString>;
259
+ days: z.ZodOptional<z.ZodNumber>;
260
+ fromDate: z.ZodOptional<z.ZodString>;
261
+ toDate: z.ZodOptional<z.ZodString>;
262
+ min: z.ZodOptional<z.ZodNumber>;
263
+ max: z.ZodOptional<z.ZodNumber>;
264
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
265
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
266
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
267
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
268
+ key: z.ZodString;
269
+ value: z.ZodString;
270
+ }, "strip", z.ZodTypeAny, {
271
+ value: string;
272
+ key: string;
273
+ }, {
274
+ value: string;
275
+ key: string;
276
+ }>, "many">>;
277
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
278
+ campaignId: z.ZodOptional<z.ZodString>;
279
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
280
+ anniversaryType: z.ZodOptional<z.ZodString>;
281
+ customAttributeKey: z.ZodOptional<z.ZodString>;
282
+ customAttributeValue: z.ZodOptional<z.ZodString>;
283
+ }, z.ZodTypeAny, "passthrough">[];
284
+ segmentPartId?: string | undefined;
285
+ }, {
286
+ criteria: z.objectInputType<{
287
+ type: z.ZodString;
288
+ criterionId: z.ZodOptional<z.ZodString>;
289
+ days: z.ZodOptional<z.ZodNumber>;
290
+ fromDate: z.ZodOptional<z.ZodString>;
291
+ toDate: z.ZodOptional<z.ZodString>;
292
+ min: z.ZodOptional<z.ZodNumber>;
293
+ max: z.ZodOptional<z.ZodNumber>;
294
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
295
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
296
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
297
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
298
+ key: z.ZodString;
299
+ value: z.ZodString;
300
+ }, "strip", z.ZodTypeAny, {
301
+ value: string;
302
+ key: string;
303
+ }, {
304
+ value: string;
305
+ key: string;
306
+ }>, "many">>;
307
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
308
+ campaignId: z.ZodOptional<z.ZodString>;
309
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
310
+ anniversaryType: z.ZodOptional<z.ZodString>;
311
+ customAttributeKey: z.ZodOptional<z.ZodString>;
312
+ customAttributeValue: z.ZodOptional<z.ZodString>;
313
+ }, z.ZodTypeAny, "passthrough">[];
314
+ segmentPartId?: string | undefined;
315
+ }>, "many">;
316
+ };
317
+ export declare const SegmentDeleteInputSchema: {
318
+ storeCode: z.ZodOptional<z.ZodString>;
319
+ segmentId: z.ZodString;
320
+ };
321
+ export declare const SegmentGetMembersInputSchema: {
322
+ storeCode: z.ZodOptional<z.ZodString>;
323
+ segmentId: z.ZodString;
324
+ page: z.ZodOptional<z.ZodNumber>;
325
+ perPage: z.ZodOptional<z.ZodNumber>;
326
+ };
327
+ export declare const SegmentActivateInputSchema: {
328
+ storeCode: z.ZodOptional<z.ZodString>;
329
+ segmentId: z.ZodString;
330
+ };
331
+ export declare const SegmentDeactivateInputSchema: {
332
+ storeCode: z.ZodOptional<z.ZodString>;
333
+ segmentId: z.ZodString;
334
+ };
335
+ export declare const SegmentGetResourcesInputSchema: {
336
+ storeCode: z.ZodOptional<z.ZodString>;
337
+ segmentId: z.ZodString;
338
+ };
339
+ export declare function segmentList(input: {
340
+ storeCode?: string;
341
+ page?: number;
342
+ perPage?: number;
343
+ active?: boolean;
344
+ name?: string;
345
+ }): Promise<{
346
+ segments: SegmentListItem[];
347
+ total: {
348
+ all?: number;
349
+ filtered?: number;
350
+ };
351
+ }>;
352
+ interface SegmentCreateInput {
353
+ storeCode?: string;
354
+ name: string;
355
+ description?: string;
356
+ active?: boolean;
357
+ parts: Array<{
358
+ segmentPartId?: string;
359
+ criteria: Array<Record<string, unknown>>;
360
+ }>;
361
+ }
362
+ export declare function segmentCreate(input: SegmentCreateInput): Promise<{
363
+ segmentId: string;
364
+ }>;
365
+ export declare function segmentGet(input: {
366
+ storeCode?: string;
367
+ segmentId: string;
368
+ }): Promise<Record<string, unknown>>;
369
+ interface SegmentUpdateInput {
370
+ storeCode?: string;
371
+ segmentId: string;
372
+ name: string;
373
+ description?: string;
374
+ active?: boolean;
375
+ parts: Array<{
376
+ segmentPartId?: string;
377
+ criteria: Array<Record<string, unknown>>;
378
+ }>;
379
+ }
380
+ export declare function segmentUpdate(input: SegmentUpdateInput): Promise<void>;
381
+ export declare function segmentDelete(input: {
382
+ storeCode?: string;
383
+ segmentId: string;
384
+ }): Promise<void>;
385
+ interface SegmentMember {
386
+ customerId: string;
387
+ firstName?: string;
388
+ lastName?: string;
389
+ email?: string;
390
+ loyaltyCardNumber?: string;
391
+ active?: boolean;
392
+ }
393
+ export declare function segmentGetMembers(input: {
394
+ storeCode?: string;
395
+ segmentId: string;
396
+ page?: number;
397
+ perPage?: number;
398
+ }): Promise<{
399
+ members: SegmentMember[];
400
+ total: {
401
+ all?: number;
402
+ filtered?: number;
403
+ };
404
+ }>;
405
+ export declare function segmentActivate(input: {
406
+ storeCode?: string;
407
+ segmentId: string;
408
+ }): Promise<void>;
409
+ export declare function segmentDeactivate(input: {
410
+ storeCode?: string;
411
+ segmentId: string;
412
+ }): Promise<void>;
413
+ interface SegmentResource {
414
+ resourceId: string;
415
+ resourceType: string;
416
+ name?: string;
417
+ }
418
+ export declare function segmentGetResources(input: {
419
+ storeCode?: string;
420
+ segmentId: string;
421
+ }): Promise<{
422
+ resources: SegmentResource[];
423
+ }>;
424
+ export declare const segmentToolDefinitions: readonly [{
425
+ readonly name: "openloyalty_segment_list";
426
+ readonly description: "List customer segments. Segments group members by criteria (purchase behavior, tier, location, etc). Use for campaign targeting and analytics.";
427
+ readonly inputSchema: {
428
+ storeCode: z.ZodOptional<z.ZodString>;
429
+ page: z.ZodOptional<z.ZodNumber>;
430
+ perPage: z.ZodOptional<z.ZodNumber>;
431
+ active: z.ZodOptional<z.ZodBoolean>;
432
+ name: z.ZodOptional<z.ZodString>;
433
+ };
434
+ readonly handler: typeof segmentList;
435
+ }, {
436
+ readonly name: "openloyalty_segment_create";
437
+ readonly description: "Create segment to group members. Parts use OR logic (member matches if ANY part matches). Criteria within parts use AND logic (must match ALL criteria in that part). Common criteria: tier, transaction_count, points_balance, country. Example - VIP segment: parts: [{ criteria: [{ type: 'tier', tierIds: ['gold-level-id'] }] }]";
438
+ readonly inputSchema: {
439
+ storeCode: z.ZodOptional<z.ZodString>;
440
+ name: z.ZodString;
441
+ description: z.ZodOptional<z.ZodString>;
442
+ active: z.ZodOptional<z.ZodBoolean>;
443
+ parts: z.ZodArray<z.ZodObject<{
444
+ segmentPartId: z.ZodOptional<z.ZodString>;
445
+ criteria: z.ZodArray<z.ZodObject<{
446
+ type: z.ZodString;
447
+ criterionId: z.ZodOptional<z.ZodString>;
448
+ days: z.ZodOptional<z.ZodNumber>;
449
+ fromDate: z.ZodOptional<z.ZodString>;
450
+ toDate: z.ZodOptional<z.ZodString>;
451
+ min: z.ZodOptional<z.ZodNumber>;
452
+ max: z.ZodOptional<z.ZodNumber>;
453
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
454
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
455
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
456
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
457
+ key: z.ZodString;
458
+ value: z.ZodString;
459
+ }, "strip", z.ZodTypeAny, {
460
+ value: string;
461
+ key: string;
462
+ }, {
463
+ value: string;
464
+ key: string;
465
+ }>, "many">>;
466
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
467
+ campaignId: z.ZodOptional<z.ZodString>;
468
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
469
+ anniversaryType: z.ZodOptional<z.ZodString>;
470
+ customAttributeKey: z.ZodOptional<z.ZodString>;
471
+ customAttributeValue: z.ZodOptional<z.ZodString>;
472
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
473
+ type: z.ZodString;
474
+ criterionId: z.ZodOptional<z.ZodString>;
475
+ days: z.ZodOptional<z.ZodNumber>;
476
+ fromDate: z.ZodOptional<z.ZodString>;
477
+ toDate: z.ZodOptional<z.ZodString>;
478
+ min: z.ZodOptional<z.ZodNumber>;
479
+ max: z.ZodOptional<z.ZodNumber>;
480
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
481
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
482
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
483
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
484
+ key: z.ZodString;
485
+ value: z.ZodString;
486
+ }, "strip", z.ZodTypeAny, {
487
+ value: string;
488
+ key: string;
489
+ }, {
490
+ value: string;
491
+ key: string;
492
+ }>, "many">>;
493
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
494
+ campaignId: z.ZodOptional<z.ZodString>;
495
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
496
+ anniversaryType: z.ZodOptional<z.ZodString>;
497
+ customAttributeKey: z.ZodOptional<z.ZodString>;
498
+ customAttributeValue: z.ZodOptional<z.ZodString>;
499
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
500
+ type: z.ZodString;
501
+ criterionId: z.ZodOptional<z.ZodString>;
502
+ days: z.ZodOptional<z.ZodNumber>;
503
+ fromDate: z.ZodOptional<z.ZodString>;
504
+ toDate: z.ZodOptional<z.ZodString>;
505
+ min: z.ZodOptional<z.ZodNumber>;
506
+ max: z.ZodOptional<z.ZodNumber>;
507
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
508
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
509
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
510
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
511
+ key: z.ZodString;
512
+ value: z.ZodString;
513
+ }, "strip", z.ZodTypeAny, {
514
+ value: string;
515
+ key: string;
516
+ }, {
517
+ value: string;
518
+ key: string;
519
+ }>, "many">>;
520
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
521
+ campaignId: z.ZodOptional<z.ZodString>;
522
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
523
+ anniversaryType: z.ZodOptional<z.ZodString>;
524
+ customAttributeKey: z.ZodOptional<z.ZodString>;
525
+ customAttributeValue: z.ZodOptional<z.ZodString>;
526
+ }, z.ZodTypeAny, "passthrough">>, "many">;
527
+ }, "strip", z.ZodTypeAny, {
528
+ criteria: z.objectOutputType<{
529
+ type: z.ZodString;
530
+ criterionId: z.ZodOptional<z.ZodString>;
531
+ days: z.ZodOptional<z.ZodNumber>;
532
+ fromDate: z.ZodOptional<z.ZodString>;
533
+ toDate: z.ZodOptional<z.ZodString>;
534
+ min: z.ZodOptional<z.ZodNumber>;
535
+ max: z.ZodOptional<z.ZodNumber>;
536
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
537
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
538
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
539
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
540
+ key: z.ZodString;
541
+ value: z.ZodString;
542
+ }, "strip", z.ZodTypeAny, {
543
+ value: string;
544
+ key: string;
545
+ }, {
546
+ value: string;
547
+ key: string;
548
+ }>, "many">>;
549
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
550
+ campaignId: z.ZodOptional<z.ZodString>;
551
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
552
+ anniversaryType: z.ZodOptional<z.ZodString>;
553
+ customAttributeKey: z.ZodOptional<z.ZodString>;
554
+ customAttributeValue: z.ZodOptional<z.ZodString>;
555
+ }, z.ZodTypeAny, "passthrough">[];
556
+ segmentPartId?: string | undefined;
557
+ }, {
558
+ criteria: z.objectInputType<{
559
+ type: z.ZodString;
560
+ criterionId: z.ZodOptional<z.ZodString>;
561
+ days: z.ZodOptional<z.ZodNumber>;
562
+ fromDate: z.ZodOptional<z.ZodString>;
563
+ toDate: z.ZodOptional<z.ZodString>;
564
+ min: z.ZodOptional<z.ZodNumber>;
565
+ max: z.ZodOptional<z.ZodNumber>;
566
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
567
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
568
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
569
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
570
+ key: z.ZodString;
571
+ value: z.ZodString;
572
+ }, "strip", z.ZodTypeAny, {
573
+ value: string;
574
+ key: string;
575
+ }, {
576
+ value: string;
577
+ key: string;
578
+ }>, "many">>;
579
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
580
+ campaignId: z.ZodOptional<z.ZodString>;
581
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
582
+ anniversaryType: z.ZodOptional<z.ZodString>;
583
+ customAttributeKey: z.ZodOptional<z.ZodString>;
584
+ customAttributeValue: z.ZodOptional<z.ZodString>;
585
+ }, z.ZodTypeAny, "passthrough">[];
586
+ segmentPartId?: string | undefined;
587
+ }>, "many">;
588
+ };
589
+ readonly handler: typeof segmentCreate;
590
+ }, {
591
+ readonly name: "openloyalty_segment_get";
592
+ readonly description: "Get full segment details including all parts and criteria configurations.";
593
+ readonly inputSchema: {
594
+ storeCode: z.ZodOptional<z.ZodString>;
595
+ segmentId: z.ZodString;
596
+ };
597
+ readonly handler: typeof segmentGet;
598
+ }, {
599
+ readonly name: "openloyalty_segment_update";
600
+ readonly description: "Update segment configuration. Requires full segment definition (name, parts with criteria). Use segment_get first to retrieve current configuration.";
601
+ readonly inputSchema: {
602
+ storeCode: z.ZodOptional<z.ZodString>;
603
+ segmentId: z.ZodString;
604
+ name: z.ZodString;
605
+ description: z.ZodOptional<z.ZodString>;
606
+ active: z.ZodOptional<z.ZodBoolean>;
607
+ parts: z.ZodArray<z.ZodObject<{
608
+ segmentPartId: z.ZodOptional<z.ZodString>;
609
+ criteria: z.ZodArray<z.ZodObject<{
610
+ type: z.ZodString;
611
+ criterionId: z.ZodOptional<z.ZodString>;
612
+ days: z.ZodOptional<z.ZodNumber>;
613
+ fromDate: z.ZodOptional<z.ZodString>;
614
+ toDate: z.ZodOptional<z.ZodString>;
615
+ min: z.ZodOptional<z.ZodNumber>;
616
+ max: z.ZodOptional<z.ZodNumber>;
617
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
618
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
619
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
620
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
621
+ key: z.ZodString;
622
+ value: z.ZodString;
623
+ }, "strip", z.ZodTypeAny, {
624
+ value: string;
625
+ key: string;
626
+ }, {
627
+ value: string;
628
+ key: string;
629
+ }>, "many">>;
630
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
631
+ campaignId: z.ZodOptional<z.ZodString>;
632
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
633
+ anniversaryType: z.ZodOptional<z.ZodString>;
634
+ customAttributeKey: z.ZodOptional<z.ZodString>;
635
+ customAttributeValue: z.ZodOptional<z.ZodString>;
636
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
637
+ type: z.ZodString;
638
+ criterionId: z.ZodOptional<z.ZodString>;
639
+ days: z.ZodOptional<z.ZodNumber>;
640
+ fromDate: z.ZodOptional<z.ZodString>;
641
+ toDate: z.ZodOptional<z.ZodString>;
642
+ min: z.ZodOptional<z.ZodNumber>;
643
+ max: z.ZodOptional<z.ZodNumber>;
644
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
645
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
646
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
647
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
648
+ key: z.ZodString;
649
+ value: z.ZodString;
650
+ }, "strip", z.ZodTypeAny, {
651
+ value: string;
652
+ key: string;
653
+ }, {
654
+ value: string;
655
+ key: string;
656
+ }>, "many">>;
657
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
658
+ campaignId: z.ZodOptional<z.ZodString>;
659
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
660
+ anniversaryType: z.ZodOptional<z.ZodString>;
661
+ customAttributeKey: z.ZodOptional<z.ZodString>;
662
+ customAttributeValue: z.ZodOptional<z.ZodString>;
663
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
664
+ type: z.ZodString;
665
+ criterionId: z.ZodOptional<z.ZodString>;
666
+ days: z.ZodOptional<z.ZodNumber>;
667
+ fromDate: z.ZodOptional<z.ZodString>;
668
+ toDate: z.ZodOptional<z.ZodString>;
669
+ min: z.ZodOptional<z.ZodNumber>;
670
+ max: z.ZodOptional<z.ZodNumber>;
671
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
672
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
673
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
674
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
675
+ key: z.ZodString;
676
+ value: z.ZodString;
677
+ }, "strip", z.ZodTypeAny, {
678
+ value: string;
679
+ key: string;
680
+ }, {
681
+ value: string;
682
+ key: string;
683
+ }>, "many">>;
684
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
685
+ campaignId: z.ZodOptional<z.ZodString>;
686
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
687
+ anniversaryType: z.ZodOptional<z.ZodString>;
688
+ customAttributeKey: z.ZodOptional<z.ZodString>;
689
+ customAttributeValue: z.ZodOptional<z.ZodString>;
690
+ }, z.ZodTypeAny, "passthrough">>, "many">;
691
+ }, "strip", z.ZodTypeAny, {
692
+ criteria: z.objectOutputType<{
693
+ type: z.ZodString;
694
+ criterionId: z.ZodOptional<z.ZodString>;
695
+ days: z.ZodOptional<z.ZodNumber>;
696
+ fromDate: z.ZodOptional<z.ZodString>;
697
+ toDate: z.ZodOptional<z.ZodString>;
698
+ min: z.ZodOptional<z.ZodNumber>;
699
+ max: z.ZodOptional<z.ZodNumber>;
700
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
701
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
702
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
703
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
704
+ key: z.ZodString;
705
+ value: z.ZodString;
706
+ }, "strip", z.ZodTypeAny, {
707
+ value: string;
708
+ key: string;
709
+ }, {
710
+ value: string;
711
+ key: string;
712
+ }>, "many">>;
713
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
714
+ campaignId: z.ZodOptional<z.ZodString>;
715
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
716
+ anniversaryType: z.ZodOptional<z.ZodString>;
717
+ customAttributeKey: z.ZodOptional<z.ZodString>;
718
+ customAttributeValue: z.ZodOptional<z.ZodString>;
719
+ }, z.ZodTypeAny, "passthrough">[];
720
+ segmentPartId?: string | undefined;
721
+ }, {
722
+ criteria: z.objectInputType<{
723
+ type: z.ZodString;
724
+ criterionId: z.ZodOptional<z.ZodString>;
725
+ days: z.ZodOptional<z.ZodNumber>;
726
+ fromDate: z.ZodOptional<z.ZodString>;
727
+ toDate: z.ZodOptional<z.ZodString>;
728
+ min: z.ZodOptional<z.ZodNumber>;
729
+ max: z.ZodOptional<z.ZodNumber>;
730
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
731
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
732
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
733
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
734
+ key: z.ZodString;
735
+ value: z.ZodString;
736
+ }, "strip", z.ZodTypeAny, {
737
+ value: string;
738
+ key: string;
739
+ }, {
740
+ value: string;
741
+ key: string;
742
+ }>, "many">>;
743
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
744
+ campaignId: z.ZodOptional<z.ZodString>;
745
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
746
+ anniversaryType: z.ZodOptional<z.ZodString>;
747
+ customAttributeKey: z.ZodOptional<z.ZodString>;
748
+ customAttributeValue: z.ZodOptional<z.ZodString>;
749
+ }, z.ZodTypeAny, "passthrough">[];
750
+ segmentPartId?: string | undefined;
751
+ }>, "many">;
752
+ };
753
+ readonly handler: typeof segmentUpdate;
754
+ }, {
755
+ readonly name: "openloyalty_segment_delete";
756
+ readonly description: "Permanently delete a segment. Cannot be undone. Check segment_get_resources first to see what uses this segment.";
757
+ readonly inputSchema: {
758
+ storeCode: z.ZodOptional<z.ZodString>;
759
+ segmentId: z.ZodString;
760
+ };
761
+ readonly handler: typeof segmentDelete;
762
+ }, {
763
+ readonly name: "openloyalty_segment_get_members";
764
+ readonly description: "Get members belonging to a segment. Returns paginated list of member details. Use for verifying segment criteria or exporting member lists.";
765
+ readonly inputSchema: {
766
+ storeCode: z.ZodOptional<z.ZodString>;
767
+ segmentId: z.ZodString;
768
+ page: z.ZodOptional<z.ZodNumber>;
769
+ perPage: z.ZodOptional<z.ZodNumber>;
770
+ };
771
+ readonly handler: typeof segmentGetMembers;
772
+ }, {
773
+ readonly name: "openloyalty_segment_activate";
774
+ readonly description: "Activate a segment. Active segments are used for campaign targeting and can be queried for members.";
775
+ readonly inputSchema: {
776
+ storeCode: z.ZodOptional<z.ZodString>;
777
+ segmentId: z.ZodString;
778
+ };
779
+ readonly handler: typeof segmentActivate;
780
+ }, {
781
+ readonly name: "openloyalty_segment_deactivate";
782
+ readonly description: "Deactivate a segment. Deactivated segments are not used for campaign targeting but retain their configuration.";
783
+ readonly inputSchema: {
784
+ storeCode: z.ZodOptional<z.ZodString>;
785
+ segmentId: z.ZodString;
786
+ };
787
+ readonly handler: typeof segmentDeactivate;
788
+ }, {
789
+ readonly name: "openloyalty_segment_get_resources";
790
+ readonly description: "Get resources (campaigns, rewards, etc.) that use this segment for targeting. Check before deleting a segment.";
791
+ readonly inputSchema: {
792
+ storeCode: z.ZodOptional<z.ZodString>;
793
+ segmentId: z.ZodString;
794
+ };
795
+ readonly handler: typeof segmentGetResources;
796
+ }];
797
+ export {};