@markstiles/sitecore-search-mcp 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 (88) hide show
  1. package/AUTHENTICATION.md +337 -0
  2. package/LICENSE +21 -0
  3. package/README.md +606 -0
  4. package/dist/client/base-client.d.ts +34 -0
  5. package/dist/client/base-client.d.ts.map +1 -0
  6. package/dist/client/base-client.js +117 -0
  7. package/dist/client/base-client.js.map +1 -0
  8. package/dist/client/events-client.d.ts +77 -0
  9. package/dist/client/events-client.d.ts.map +1 -0
  10. package/dist/client/events-client.js +32 -0
  11. package/dist/client/events-client.js.map +1 -0
  12. package/dist/client/ingestion-client.d.ts +76 -0
  13. package/dist/client/ingestion-client.d.ts.map +1 -0
  14. package/dist/client/ingestion-client.js +73 -0
  15. package/dist/client/ingestion-client.js.map +1 -0
  16. package/dist/client/search-client.d.ts +97 -0
  17. package/dist/client/search-client.d.ts.map +1 -0
  18. package/dist/client/search-client.js +18 -0
  19. package/dist/client/search-client.js.map +1 -0
  20. package/dist/config.d.ts +99 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +75 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +312 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/tools/events/track-event.d.ts +394 -0
  29. package/dist/tools/events/track-event.d.ts.map +1 -0
  30. package/dist/tools/events/track-event.js +80 -0
  31. package/dist/tools/events/track-event.js.map +1 -0
  32. package/dist/tools/events/validate-event.d.ts +94 -0
  33. package/dist/tools/events/validate-event.d.ts.map +1 -0
  34. package/dist/tools/events/validate-event.js +51 -0
  35. package/dist/tools/events/validate-event.js.map +1 -0
  36. package/dist/tools/ingestion/check-status.d.ts +50 -0
  37. package/dist/tools/ingestion/check-status.d.ts.map +1 -0
  38. package/dist/tools/ingestion/check-status.js +27 -0
  39. package/dist/tools/ingestion/check-status.js.map +1 -0
  40. package/dist/tools/ingestion/create-document.d.ts +50 -0
  41. package/dist/tools/ingestion/create-document.d.ts.map +1 -0
  42. package/dist/tools/ingestion/create-document.js +27 -0
  43. package/dist/tools/ingestion/create-document.js.map +1 -0
  44. package/dist/tools/ingestion/delete-document.d.ts +50 -0
  45. package/dist/tools/ingestion/delete-document.d.ts.map +1 -0
  46. package/dist/tools/ingestion/delete-document.js +27 -0
  47. package/dist/tools/ingestion/delete-document.js.map +1 -0
  48. package/dist/tools/ingestion/ingest-from-source.d.ts +234 -0
  49. package/dist/tools/ingestion/ingest-from-source.d.ts.map +1 -0
  50. package/dist/tools/ingestion/ingest-from-source.js +48 -0
  51. package/dist/tools/ingestion/ingest-from-source.js.map +1 -0
  52. package/dist/tools/ingestion/update-document.d.ts +62 -0
  53. package/dist/tools/ingestion/update-document.d.ts.map +1 -0
  54. package/dist/tools/ingestion/update-document.js +34 -0
  55. package/dist/tools/ingestion/update-document.js.map +1 -0
  56. package/dist/tools/search/ai-search.d.ts +132 -0
  57. package/dist/tools/search/ai-search.d.ts.map +1 -0
  58. package/dist/tools/search/ai-search.js +65 -0
  59. package/dist/tools/search/ai-search.js.map +1 -0
  60. package/dist/tools/search/basic-search.d.ts +98 -0
  61. package/dist/tools/search/basic-search.d.ts.map +1 -0
  62. package/dist/tools/search/basic-search.js +51 -0
  63. package/dist/tools/search/basic-search.js.map +1 -0
  64. package/dist/tools/search/faceted-search.d.ts +114 -0
  65. package/dist/tools/search/faceted-search.d.ts.map +1 -0
  66. package/dist/tools/search/faceted-search.js +52 -0
  67. package/dist/tools/search/faceted-search.js.map +1 -0
  68. package/dist/tools/search/recommendations.d.ts +62 -0
  69. package/dist/tools/search/recommendations.d.ts.map +1 -0
  70. package/dist/tools/search/recommendations.js +50 -0
  71. package/dist/tools/search/recommendations.js.map +1 -0
  72. package/dist/utils/auth-manager.d.ts +60 -0
  73. package/dist/utils/auth-manager.d.ts.map +1 -0
  74. package/dist/utils/auth-manager.js +184 -0
  75. package/dist/utils/auth-manager.js.map +1 -0
  76. package/dist/utils/errors.d.ts +18 -0
  77. package/dist/utils/errors.d.ts.map +1 -0
  78. package/dist/utils/errors.js +58 -0
  79. package/dist/utils/errors.js.map +1 -0
  80. package/dist/utils/logger.d.ts +12 -0
  81. package/dist/utils/logger.d.ts.map +1 -0
  82. package/dist/utils/logger.js +50 -0
  83. package/dist/utils/logger.js.map +1 -0
  84. package/dist/utils/schema.d.ts +6 -0
  85. package/dist/utils/schema.d.ts.map +1 -0
  86. package/dist/utils/schema.js +14 -0
  87. package/dist/utils/schema.js.map +1 -0
  88. package/package.json +58 -0
@@ -0,0 +1,394 @@
1
+ import { z } from 'zod';
2
+ import { EventsClient } from '../../client/events-client.js';
3
+ /**
4
+ * Schema for tracking events
5
+ */
6
+ export declare const TrackEventSchema: z.ZodObject<{
7
+ domainId: z.ZodOptional<z.ZodString>;
8
+ customerKey: z.ZodOptional<z.ZodString>;
9
+ eventType: z.ZodEnum<["view", "click", "add", "remove", "identify", "order", "download", "bookmark", "review", "widget", "request"]>;
10
+ value: z.ZodOptional<z.ZodObject<{
11
+ entity: z.ZodOptional<z.ZodString>;
12
+ entity_id: z.ZodOptional<z.ZodString>;
13
+ widget: z.ZodOptional<z.ZodString>;
14
+ action: z.ZodOptional<z.ZodString>;
15
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
16
+ entity: z.ZodOptional<z.ZodString>;
17
+ entity_id: z.ZodOptional<z.ZodString>;
18
+ widget: z.ZodOptional<z.ZodString>;
19
+ action: z.ZodOptional<z.ZodString>;
20
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
21
+ entity: z.ZodOptional<z.ZodString>;
22
+ entity_id: z.ZodOptional<z.ZodString>;
23
+ widget: z.ZodOptional<z.ZodString>;
24
+ action: z.ZodOptional<z.ZodString>;
25
+ }, z.ZodTypeAny, "passthrough">>>;
26
+ context: z.ZodOptional<z.ZodObject<{
27
+ user: z.ZodOptional<z.ZodObject<{
28
+ uuid: z.ZodOptional<z.ZodString>;
29
+ email: z.ZodOptional<z.ZodString>;
30
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
31
+ uuid: z.ZodOptional<z.ZodString>;
32
+ email: z.ZodOptional<z.ZodString>;
33
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
34
+ uuid: z.ZodOptional<z.ZodString>;
35
+ email: z.ZodOptional<z.ZodString>;
36
+ }, z.ZodTypeAny, "passthrough">>>;
37
+ page: z.ZodOptional<z.ZodObject<{
38
+ uri: z.ZodOptional<z.ZodString>;
39
+ title: z.ZodOptional<z.ZodString>;
40
+ locale: z.ZodOptional<z.ZodString>;
41
+ referrer: z.ZodOptional<z.ZodString>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ referrer?: string | undefined;
44
+ locale?: string | undefined;
45
+ uri?: string | undefined;
46
+ title?: string | undefined;
47
+ }, {
48
+ referrer?: string | undefined;
49
+ locale?: string | undefined;
50
+ uri?: string | undefined;
51
+ title?: string | undefined;
52
+ }>>;
53
+ browser: z.ZodOptional<z.ZodObject<{
54
+ user_agent: z.ZodOptional<z.ZodString>;
55
+ ip: z.ZodOptional<z.ZodString>;
56
+ }, "strip", z.ZodTypeAny, {
57
+ user_agent?: string | undefined;
58
+ ip?: string | undefined;
59
+ }, {
60
+ user_agent?: string | undefined;
61
+ ip?: string | undefined;
62
+ }>>;
63
+ geo: z.ZodOptional<z.ZodObject<{
64
+ country: z.ZodOptional<z.ZodString>;
65
+ region: z.ZodOptional<z.ZodString>;
66
+ city: z.ZodOptional<z.ZodString>;
67
+ latitude: z.ZodOptional<z.ZodNumber>;
68
+ longitude: z.ZodOptional<z.ZodNumber>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ country?: string | undefined;
71
+ region?: string | undefined;
72
+ city?: string | undefined;
73
+ latitude?: number | undefined;
74
+ longitude?: number | undefined;
75
+ }, {
76
+ country?: string | undefined;
77
+ region?: string | undefined;
78
+ city?: string | undefined;
79
+ latitude?: number | undefined;
80
+ longitude?: number | undefined;
81
+ }>>;
82
+ }, "strip", z.ZodTypeAny, {
83
+ page?: {
84
+ referrer?: string | undefined;
85
+ locale?: string | undefined;
86
+ uri?: string | undefined;
87
+ title?: string | undefined;
88
+ } | undefined;
89
+ user?: z.objectOutputType<{
90
+ uuid: z.ZodOptional<z.ZodString>;
91
+ email: z.ZodOptional<z.ZodString>;
92
+ }, z.ZodTypeAny, "passthrough"> | undefined;
93
+ browser?: {
94
+ user_agent?: string | undefined;
95
+ ip?: string | undefined;
96
+ } | undefined;
97
+ geo?: {
98
+ country?: string | undefined;
99
+ region?: string | undefined;
100
+ city?: string | undefined;
101
+ latitude?: number | undefined;
102
+ longitude?: number | undefined;
103
+ } | undefined;
104
+ }, {
105
+ page?: {
106
+ referrer?: string | undefined;
107
+ locale?: string | undefined;
108
+ uri?: string | undefined;
109
+ title?: string | undefined;
110
+ } | undefined;
111
+ user?: z.objectInputType<{
112
+ uuid: z.ZodOptional<z.ZodString>;
113
+ email: z.ZodOptional<z.ZodString>;
114
+ }, z.ZodTypeAny, "passthrough"> | undefined;
115
+ browser?: {
116
+ user_agent?: string | undefined;
117
+ ip?: string | undefined;
118
+ } | undefined;
119
+ geo?: {
120
+ country?: string | undefined;
121
+ region?: string | undefined;
122
+ city?: string | undefined;
123
+ latitude?: number | undefined;
124
+ longitude?: number | undefined;
125
+ } | undefined;
126
+ }>>;
127
+ }, "strip", z.ZodTypeAny, {
128
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
129
+ value?: z.objectOutputType<{
130
+ entity: z.ZodOptional<z.ZodString>;
131
+ entity_id: z.ZodOptional<z.ZodString>;
132
+ widget: z.ZodOptional<z.ZodString>;
133
+ action: z.ZodOptional<z.ZodString>;
134
+ }, z.ZodTypeAny, "passthrough"> | undefined;
135
+ domainId?: string | undefined;
136
+ customerKey?: string | undefined;
137
+ context?: {
138
+ page?: {
139
+ referrer?: string | undefined;
140
+ locale?: string | undefined;
141
+ uri?: string | undefined;
142
+ title?: string | undefined;
143
+ } | undefined;
144
+ user?: z.objectOutputType<{
145
+ uuid: z.ZodOptional<z.ZodString>;
146
+ email: z.ZodOptional<z.ZodString>;
147
+ }, z.ZodTypeAny, "passthrough"> | undefined;
148
+ browser?: {
149
+ user_agent?: string | undefined;
150
+ ip?: string | undefined;
151
+ } | undefined;
152
+ geo?: {
153
+ country?: string | undefined;
154
+ region?: string | undefined;
155
+ city?: string | undefined;
156
+ latitude?: number | undefined;
157
+ longitude?: number | undefined;
158
+ } | undefined;
159
+ } | undefined;
160
+ }, {
161
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
162
+ value?: z.objectInputType<{
163
+ entity: z.ZodOptional<z.ZodString>;
164
+ entity_id: z.ZodOptional<z.ZodString>;
165
+ widget: z.ZodOptional<z.ZodString>;
166
+ action: z.ZodOptional<z.ZodString>;
167
+ }, z.ZodTypeAny, "passthrough"> | undefined;
168
+ domainId?: string | undefined;
169
+ customerKey?: string | undefined;
170
+ context?: {
171
+ page?: {
172
+ referrer?: string | undefined;
173
+ locale?: string | undefined;
174
+ uri?: string | undefined;
175
+ title?: string | undefined;
176
+ } | undefined;
177
+ user?: z.objectInputType<{
178
+ uuid: z.ZodOptional<z.ZodString>;
179
+ email: z.ZodOptional<z.ZodString>;
180
+ }, z.ZodTypeAny, "passthrough"> | undefined;
181
+ browser?: {
182
+ user_agent?: string | undefined;
183
+ ip?: string | undefined;
184
+ } | undefined;
185
+ geo?: {
186
+ country?: string | undefined;
187
+ region?: string | undefined;
188
+ city?: string | undefined;
189
+ latitude?: number | undefined;
190
+ longitude?: number | undefined;
191
+ } | undefined;
192
+ } | undefined;
193
+ }>;
194
+ export type TrackEventInput = z.infer<typeof TrackEventSchema>;
195
+ /**
196
+ * Track an event
197
+ */
198
+ export declare function trackEvent(client: EventsClient, customerKey: string, input: unknown): Promise<import("../../client/events-client.js").EventResponse>;
199
+ /**
200
+ * MCP Tool Definition for tracking events
201
+ */
202
+ export declare const trackEventTool: {
203
+ name: string;
204
+ description: string;
205
+ inputSchema: z.ZodObject<{
206
+ domainId: z.ZodOptional<z.ZodString>;
207
+ customerKey: z.ZodOptional<z.ZodString>;
208
+ eventType: z.ZodEnum<["view", "click", "add", "remove", "identify", "order", "download", "bookmark", "review", "widget", "request"]>;
209
+ value: z.ZodOptional<z.ZodObject<{
210
+ entity: z.ZodOptional<z.ZodString>;
211
+ entity_id: z.ZodOptional<z.ZodString>;
212
+ widget: z.ZodOptional<z.ZodString>;
213
+ action: z.ZodOptional<z.ZodString>;
214
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
215
+ entity: z.ZodOptional<z.ZodString>;
216
+ entity_id: z.ZodOptional<z.ZodString>;
217
+ widget: z.ZodOptional<z.ZodString>;
218
+ action: z.ZodOptional<z.ZodString>;
219
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
220
+ entity: z.ZodOptional<z.ZodString>;
221
+ entity_id: z.ZodOptional<z.ZodString>;
222
+ widget: z.ZodOptional<z.ZodString>;
223
+ action: z.ZodOptional<z.ZodString>;
224
+ }, z.ZodTypeAny, "passthrough">>>;
225
+ context: z.ZodOptional<z.ZodObject<{
226
+ user: z.ZodOptional<z.ZodObject<{
227
+ uuid: z.ZodOptional<z.ZodString>;
228
+ email: z.ZodOptional<z.ZodString>;
229
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
230
+ uuid: z.ZodOptional<z.ZodString>;
231
+ email: z.ZodOptional<z.ZodString>;
232
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
233
+ uuid: z.ZodOptional<z.ZodString>;
234
+ email: z.ZodOptional<z.ZodString>;
235
+ }, z.ZodTypeAny, "passthrough">>>;
236
+ page: z.ZodOptional<z.ZodObject<{
237
+ uri: z.ZodOptional<z.ZodString>;
238
+ title: z.ZodOptional<z.ZodString>;
239
+ locale: z.ZodOptional<z.ZodString>;
240
+ referrer: z.ZodOptional<z.ZodString>;
241
+ }, "strip", z.ZodTypeAny, {
242
+ referrer?: string | undefined;
243
+ locale?: string | undefined;
244
+ uri?: string | undefined;
245
+ title?: string | undefined;
246
+ }, {
247
+ referrer?: string | undefined;
248
+ locale?: string | undefined;
249
+ uri?: string | undefined;
250
+ title?: string | undefined;
251
+ }>>;
252
+ browser: z.ZodOptional<z.ZodObject<{
253
+ user_agent: z.ZodOptional<z.ZodString>;
254
+ ip: z.ZodOptional<z.ZodString>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ user_agent?: string | undefined;
257
+ ip?: string | undefined;
258
+ }, {
259
+ user_agent?: string | undefined;
260
+ ip?: string | undefined;
261
+ }>>;
262
+ geo: z.ZodOptional<z.ZodObject<{
263
+ country: z.ZodOptional<z.ZodString>;
264
+ region: z.ZodOptional<z.ZodString>;
265
+ city: z.ZodOptional<z.ZodString>;
266
+ latitude: z.ZodOptional<z.ZodNumber>;
267
+ longitude: z.ZodOptional<z.ZodNumber>;
268
+ }, "strip", z.ZodTypeAny, {
269
+ country?: string | undefined;
270
+ region?: string | undefined;
271
+ city?: string | undefined;
272
+ latitude?: number | undefined;
273
+ longitude?: number | undefined;
274
+ }, {
275
+ country?: string | undefined;
276
+ region?: string | undefined;
277
+ city?: string | undefined;
278
+ latitude?: number | undefined;
279
+ longitude?: number | undefined;
280
+ }>>;
281
+ }, "strip", z.ZodTypeAny, {
282
+ page?: {
283
+ referrer?: string | undefined;
284
+ locale?: string | undefined;
285
+ uri?: string | undefined;
286
+ title?: string | undefined;
287
+ } | undefined;
288
+ user?: z.objectOutputType<{
289
+ uuid: z.ZodOptional<z.ZodString>;
290
+ email: z.ZodOptional<z.ZodString>;
291
+ }, z.ZodTypeAny, "passthrough"> | undefined;
292
+ browser?: {
293
+ user_agent?: string | undefined;
294
+ ip?: string | undefined;
295
+ } | undefined;
296
+ geo?: {
297
+ country?: string | undefined;
298
+ region?: string | undefined;
299
+ city?: string | undefined;
300
+ latitude?: number | undefined;
301
+ longitude?: number | undefined;
302
+ } | undefined;
303
+ }, {
304
+ page?: {
305
+ referrer?: string | undefined;
306
+ locale?: string | undefined;
307
+ uri?: string | undefined;
308
+ title?: string | undefined;
309
+ } | undefined;
310
+ user?: z.objectInputType<{
311
+ uuid: z.ZodOptional<z.ZodString>;
312
+ email: z.ZodOptional<z.ZodString>;
313
+ }, z.ZodTypeAny, "passthrough"> | undefined;
314
+ browser?: {
315
+ user_agent?: string | undefined;
316
+ ip?: string | undefined;
317
+ } | undefined;
318
+ geo?: {
319
+ country?: string | undefined;
320
+ region?: string | undefined;
321
+ city?: string | undefined;
322
+ latitude?: number | undefined;
323
+ longitude?: number | undefined;
324
+ } | undefined;
325
+ }>>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
328
+ value?: z.objectOutputType<{
329
+ entity: z.ZodOptional<z.ZodString>;
330
+ entity_id: z.ZodOptional<z.ZodString>;
331
+ widget: z.ZodOptional<z.ZodString>;
332
+ action: z.ZodOptional<z.ZodString>;
333
+ }, z.ZodTypeAny, "passthrough"> | undefined;
334
+ domainId?: string | undefined;
335
+ customerKey?: string | undefined;
336
+ context?: {
337
+ page?: {
338
+ referrer?: string | undefined;
339
+ locale?: string | undefined;
340
+ uri?: string | undefined;
341
+ title?: string | undefined;
342
+ } | undefined;
343
+ user?: z.objectOutputType<{
344
+ uuid: z.ZodOptional<z.ZodString>;
345
+ email: z.ZodOptional<z.ZodString>;
346
+ }, z.ZodTypeAny, "passthrough"> | undefined;
347
+ browser?: {
348
+ user_agent?: string | undefined;
349
+ ip?: string | undefined;
350
+ } | undefined;
351
+ geo?: {
352
+ country?: string | undefined;
353
+ region?: string | undefined;
354
+ city?: string | undefined;
355
+ latitude?: number | undefined;
356
+ longitude?: number | undefined;
357
+ } | undefined;
358
+ } | undefined;
359
+ }, {
360
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
361
+ value?: z.objectInputType<{
362
+ entity: z.ZodOptional<z.ZodString>;
363
+ entity_id: z.ZodOptional<z.ZodString>;
364
+ widget: z.ZodOptional<z.ZodString>;
365
+ action: z.ZodOptional<z.ZodString>;
366
+ }, z.ZodTypeAny, "passthrough"> | undefined;
367
+ domainId?: string | undefined;
368
+ customerKey?: string | undefined;
369
+ context?: {
370
+ page?: {
371
+ referrer?: string | undefined;
372
+ locale?: string | undefined;
373
+ uri?: string | undefined;
374
+ title?: string | undefined;
375
+ } | undefined;
376
+ user?: z.objectInputType<{
377
+ uuid: z.ZodOptional<z.ZodString>;
378
+ email: z.ZodOptional<z.ZodString>;
379
+ }, z.ZodTypeAny, "passthrough"> | undefined;
380
+ browser?: {
381
+ user_agent?: string | undefined;
382
+ ip?: string | undefined;
383
+ } | undefined;
384
+ geo?: {
385
+ country?: string | undefined;
386
+ region?: string | undefined;
387
+ city?: string | undefined;
388
+ latitude?: number | undefined;
389
+ longitude?: number | undefined;
390
+ } | undefined;
391
+ } | undefined;
392
+ }>;
393
+ };
394
+ //# sourceMappingURL=track-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-event.d.ts","sourceRoot":"","sources":["../../../src/tools/events/track-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAC;AAGtF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6C3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,kEAqBf;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1B,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+ import { validateInput } from '../../utils/errors.js';
3
+ /**
4
+ * Schema for tracking events
5
+ */
6
+ export const TrackEventSchema = z.object({
7
+ domainId: z.string().optional().describe('Domain ID (will use default if not provided)'),
8
+ customerKey: z.string().optional().describe('Customer key (ckey) - will use configured client key if not provided'),
9
+ eventType: z.enum([
10
+ 'view',
11
+ 'click',
12
+ 'add',
13
+ 'remove',
14
+ 'identify',
15
+ 'order',
16
+ 'download',
17
+ 'bookmark',
18
+ 'review',
19
+ 'widget',
20
+ 'request',
21
+ ]).describe('Type of event to track'),
22
+ value: z.object({
23
+ entity: z.string().optional().describe('Entity type (e.g., content, product)'),
24
+ entity_id: z.string().optional().describe('ID of the entity being tracked'),
25
+ widget: z.string().optional().describe('Widget ID for widget events'),
26
+ action: z.string().optional().describe('Action performed'),
27
+ }).passthrough().optional().describe('Event value data'),
28
+ context: z.object({
29
+ user: z.object({
30
+ uuid: z.string().optional(),
31
+ email: z.string().optional(),
32
+ }).passthrough().optional().describe('User context'),
33
+ page: z.object({
34
+ uri: z.string().optional(),
35
+ title: z.string().optional(),
36
+ locale: z.string().optional(),
37
+ referrer: z.string().optional(),
38
+ }).optional().describe('Page context'),
39
+ browser: z.object({
40
+ user_agent: z.string().optional(),
41
+ ip: z.string().optional(),
42
+ }).optional().describe('Browser context'),
43
+ geo: z.object({
44
+ country: z.string().optional(),
45
+ region: z.string().optional(),
46
+ city: z.string().optional(),
47
+ latitude: z.number().optional(),
48
+ longitude: z.number().optional(),
49
+ }).optional().describe('Geographic context'),
50
+ }).optional().describe('Event context information'),
51
+ });
52
+ /**
53
+ * Track an event
54
+ */
55
+ export async function trackEvent(client, customerKey, input) {
56
+ const params = validateInput(TrackEventSchema, input);
57
+ // Use provided customer key or the one from input
58
+ const finalCustomerKey = params.customerKey || customerKey;
59
+ if (!finalCustomerKey) {
60
+ throw new Error('Customer key is required. Either configure SITECORE_CLIENT_KEY or provide customerKey parameter.');
61
+ }
62
+ const event = {
63
+ event: params.eventType,
64
+ value: params.value,
65
+ user: params.context?.user,
66
+ page: params.context?.page,
67
+ browser: params.context?.browser,
68
+ geo: params.context?.geo,
69
+ };
70
+ return client.trackEvent(finalCustomerKey, event);
71
+ }
72
+ /**
73
+ * MCP Tool Definition for tracking events
74
+ */
75
+ export const trackEventTool = {
76
+ name: 'sitecore_track_event',
77
+ description: 'Track visitor events for analytics, personalization, and metrics. Supports various event types like view, click, add, order, etc.',
78
+ inputSchema: TrackEventSchema,
79
+ };
80
+ //# sourceMappingURL=track-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-event.js","sourceRoot":"","sources":["../../../src/tools/events/track-event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { z } from 'zod';
2
+ import { EventsClient } from '../../client/events-client.js';
3
+ /**
4
+ * Schema for validating events
5
+ */
6
+ export declare const ValidateEventSchema: z.ZodObject<{
7
+ eventType: z.ZodEnum<["view", "click", "add", "remove", "identify", "order", "download", "bookmark", "review", "widget", "request"]>;
8
+ value: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
9
+ context: z.ZodOptional<z.ZodObject<{
10
+ user: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
+ page: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
12
+ browser: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
13
+ geo: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ page?: Record<string, unknown> | undefined;
16
+ user?: Record<string, unknown> | undefined;
17
+ browser?: Record<string, unknown> | undefined;
18
+ geo?: Record<string, unknown> | undefined;
19
+ }, {
20
+ page?: Record<string, unknown> | undefined;
21
+ user?: Record<string, unknown> | undefined;
22
+ browser?: Record<string, unknown> | undefined;
23
+ geo?: Record<string, unknown> | undefined;
24
+ }>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
27
+ value?: Record<string, unknown> | undefined;
28
+ context?: {
29
+ page?: Record<string, unknown> | undefined;
30
+ user?: Record<string, unknown> | undefined;
31
+ browser?: Record<string, unknown> | undefined;
32
+ geo?: Record<string, unknown> | undefined;
33
+ } | undefined;
34
+ }, {
35
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
36
+ value?: Record<string, unknown> | undefined;
37
+ context?: {
38
+ page?: Record<string, unknown> | undefined;
39
+ user?: Record<string, unknown> | undefined;
40
+ browser?: Record<string, unknown> | undefined;
41
+ geo?: Record<string, unknown> | undefined;
42
+ } | undefined;
43
+ }>;
44
+ export type ValidateEventInput = z.infer<typeof ValidateEventSchema>;
45
+ /**
46
+ * Validate an event payload
47
+ */
48
+ export declare function validateEvent(client: EventsClient, input: unknown): Promise<import("../../client/events-client.js").ValidationResponse>;
49
+ /**
50
+ * MCP Tool Definition for validating events
51
+ */
52
+ export declare const validateEventTool: {
53
+ name: string;
54
+ description: string;
55
+ inputSchema: z.ZodObject<{
56
+ eventType: z.ZodEnum<["view", "click", "add", "remove", "identify", "order", "download", "bookmark", "review", "widget", "request"]>;
57
+ value: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
58
+ context: z.ZodOptional<z.ZodObject<{
59
+ user: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
60
+ page: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
61
+ browser: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
62
+ geo: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ page?: Record<string, unknown> | undefined;
65
+ user?: Record<string, unknown> | undefined;
66
+ browser?: Record<string, unknown> | undefined;
67
+ geo?: Record<string, unknown> | undefined;
68
+ }, {
69
+ page?: Record<string, unknown> | undefined;
70
+ user?: Record<string, unknown> | undefined;
71
+ browser?: Record<string, unknown> | undefined;
72
+ geo?: Record<string, unknown> | undefined;
73
+ }>>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
76
+ value?: Record<string, unknown> | undefined;
77
+ context?: {
78
+ page?: Record<string, unknown> | undefined;
79
+ user?: Record<string, unknown> | undefined;
80
+ browser?: Record<string, unknown> | undefined;
81
+ geo?: Record<string, unknown> | undefined;
82
+ } | undefined;
83
+ }, {
84
+ eventType: "view" | "click" | "add" | "remove" | "identify" | "order" | "download" | "bookmark" | "review" | "widget" | "request";
85
+ value?: Record<string, unknown> | undefined;
86
+ context?: {
87
+ page?: Record<string, unknown> | undefined;
88
+ user?: Record<string, unknown> | undefined;
89
+ browser?: Record<string, unknown> | undefined;
90
+ geo?: Record<string, unknown> | undefined;
91
+ } | undefined;
92
+ }>;
93
+ };
94
+ //# sourceMappingURL=validate-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-event.d.ts","sourceRoot":"","sources":["../../../src/tools/events/validate-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAC;AAGtF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,OAAO,uEAcf;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI7B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+ import { validateInput } from '../../utils/errors.js';
3
+ /**
4
+ * Schema for validating events
5
+ */
6
+ export const ValidateEventSchema = z.object({
7
+ eventType: z.enum([
8
+ 'view',
9
+ 'click',
10
+ 'add',
11
+ 'remove',
12
+ 'identify',
13
+ 'order',
14
+ 'download',
15
+ 'bookmark',
16
+ 'review',
17
+ 'widget',
18
+ 'request',
19
+ ]).describe('Type of event to validate'),
20
+ value: z.record(z.unknown()).optional().describe('Event value data'),
21
+ context: z.object({
22
+ user: z.record(z.unknown()).optional(),
23
+ page: z.record(z.unknown()).optional(),
24
+ browser: z.record(z.unknown()).optional(),
25
+ geo: z.record(z.unknown()).optional(),
26
+ }).optional().describe('Event context information'),
27
+ });
28
+ /**
29
+ * Validate an event payload
30
+ */
31
+ export async function validateEvent(client, input) {
32
+ const params = validateInput(ValidateEventSchema, input);
33
+ const event = {
34
+ event: params.eventType,
35
+ value: params.value,
36
+ user: params.context?.user,
37
+ page: params.context?.page,
38
+ browser: params.context?.browser,
39
+ geo: params.context?.geo,
40
+ };
41
+ return client.validateEvent(event);
42
+ }
43
+ /**
44
+ * MCP Tool Definition for validating events
45
+ */
46
+ export const validateEventTool = {
47
+ name: 'sitecore_validate_event',
48
+ description: 'Validate an event payload before sending to ensure it meets API requirements.',
49
+ inputSchema: ValidateEventSchema,
50
+ };
51
+ //# sourceMappingURL=validate-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-event.js","sourceRoot":"","sources":["../../../src/tools/events/validate-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;QAChB,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,UAAU;QACV,OAAO;QACP,UAAU;QACV,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,SAAS;KACV,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACpD,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,KAAc;IAEd,MAAM,MAAM,GAAG,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAiB;QAC1B,KAAK,EAAE,MAAM,CAAC,SAAsB;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI;QAC1B,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO;QAChC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG;KACzB,CAAC;IAEF,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,+EAA+E;IAC5F,WAAW,EAAE,mBAAmB;CACjC,CAAC"}