@iterable/api 0.0.1

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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/client/base.d.ts +33 -0
  4. package/dist/client/base.d.ts.map +1 -0
  5. package/dist/client/base.js +155 -0
  6. package/dist/client/base.js.map +1 -0
  7. package/dist/client/campaigns.d.ts +71 -0
  8. package/dist/client/campaigns.d.ts.map +1 -0
  9. package/dist/client/campaigns.js +125 -0
  10. package/dist/client/campaigns.js.map +1 -0
  11. package/dist/client/catalogs.d.ts +60 -0
  12. package/dist/client/catalogs.d.ts.map +1 -0
  13. package/dist/client/catalogs.js +138 -0
  14. package/dist/client/catalogs.js.map +1 -0
  15. package/dist/client/events.d.ts +38 -0
  16. package/dist/client/events.d.ts.map +1 -0
  17. package/dist/client/events.js +38 -0
  18. package/dist/client/events.js.map +1 -0
  19. package/dist/client/experiments.d.ts +24 -0
  20. package/dist/client/experiments.d.ts.map +1 -0
  21. package/dist/client/experiments.js +29 -0
  22. package/dist/client/experiments.js.map +1 -0
  23. package/dist/client/export.d.ts +27 -0
  24. package/dist/client/export.d.ts.map +1 -0
  25. package/dist/client/export.js +31 -0
  26. package/dist/client/export.js.map +1 -0
  27. package/dist/client/index.d.ts +315 -0
  28. package/dist/client/index.d.ts.map +1 -0
  29. package/dist/client/index.js +25 -0
  30. package/dist/client/index.js.map +1 -0
  31. package/dist/client/journeys.d.ts +26 -0
  32. package/dist/client/journeys.d.ts.map +1 -0
  33. package/dist/client/journeys.js +32 -0
  34. package/dist/client/journeys.js.map +1 -0
  35. package/dist/client/lists.d.ts +39 -0
  36. package/dist/client/lists.d.ts.map +1 -0
  37. package/dist/client/lists.js +80 -0
  38. package/dist/client/lists.js.map +1 -0
  39. package/dist/client/messaging.d.ts +39 -0
  40. package/dist/client/messaging.d.ts.map +1 -0
  41. package/dist/client/messaging.js +110 -0
  42. package/dist/client/messaging.js.map +1 -0
  43. package/dist/client/snippets.d.ts +37 -0
  44. package/dist/client/snippets.d.ts.map +1 -0
  45. package/dist/client/snippets.js +29 -0
  46. package/dist/client/snippets.js.map +1 -0
  47. package/dist/client/subscriptions.d.ts +26 -0
  48. package/dist/client/subscriptions.d.ts.map +1 -0
  49. package/dist/client/subscriptions.js +31 -0
  50. package/dist/client/subscriptions.js.map +1 -0
  51. package/dist/client/templates.d.ts +52 -0
  52. package/dist/client/templates.d.ts.map +1 -0
  53. package/dist/client/templates.js +132 -0
  54. package/dist/client/templates.js.map +1 -0
  55. package/dist/client/users.d.ts +76 -0
  56. package/dist/client/users.d.ts.map +1 -0
  57. package/dist/client/users.js +115 -0
  58. package/dist/client/users.js.map +1 -0
  59. package/dist/client/webhooks.d.ts +25 -0
  60. package/dist/client/webhooks.d.ts.map +1 -0
  61. package/dist/client/webhooks.js +17 -0
  62. package/dist/client/webhooks.js.map +1 -0
  63. package/dist/config.d.ts +26 -0
  64. package/dist/config.d.ts.map +1 -0
  65. package/dist/config.js +51 -0
  66. package/dist/config.js.map +1 -0
  67. package/dist/errors.d.ts +45 -0
  68. package/dist/errors.d.ts.map +1 -0
  69. package/dist/errors.js +144 -0
  70. package/dist/errors.js.map +1 -0
  71. package/dist/index.d.ts +21 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +25 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/logger.d.ts +3 -0
  76. package/dist/logger.d.ts.map +1 -0
  77. package/dist/logger.js +32 -0
  78. package/dist/logger.js.map +1 -0
  79. package/dist/types/campaigns.d.ts +307 -0
  80. package/dist/types/campaigns.d.ts.map +1 -0
  81. package/dist/types/campaigns.js +226 -0
  82. package/dist/types/campaigns.js.map +1 -0
  83. package/dist/types/catalogs.d.ts +138 -0
  84. package/dist/types/catalogs.d.ts.map +1 -0
  85. package/dist/types/catalogs.js +139 -0
  86. package/dist/types/catalogs.js.map +1 -0
  87. package/dist/types/common.d.ts +145 -0
  88. package/dist/types/common.d.ts.map +1 -0
  89. package/dist/types/common.js +110 -0
  90. package/dist/types/common.js.map +1 -0
  91. package/dist/types/events.d.ts +124 -0
  92. package/dist/types/events.d.ts.map +1 -0
  93. package/dist/types/events.js +118 -0
  94. package/dist/types/events.js.map +1 -0
  95. package/dist/types/experiments.d.ts +14 -0
  96. package/dist/types/experiments.d.ts.map +1 -0
  97. package/dist/types/experiments.js +24 -0
  98. package/dist/types/experiments.js.map +1 -0
  99. package/dist/types/export.d.ts +121 -0
  100. package/dist/types/export.d.ts.map +1 -0
  101. package/dist/types/export.js +105 -0
  102. package/dist/types/export.js.map +1 -0
  103. package/dist/types/journeys.d.ts +72 -0
  104. package/dist/types/journeys.d.ts.map +1 -0
  105. package/dist/types/journeys.js +65 -0
  106. package/dist/types/journeys.js.map +1 -0
  107. package/dist/types/lists.d.ts +149 -0
  108. package/dist/types/lists.d.ts.map +1 -0
  109. package/dist/types/lists.js +140 -0
  110. package/dist/types/lists.js.map +1 -0
  111. package/dist/types/messaging.d.ts +246 -0
  112. package/dist/types/messaging.d.ts.map +1 -0
  113. package/dist/types/messaging.js +323 -0
  114. package/dist/types/messaging.js.map +1 -0
  115. package/dist/types/snippets.d.ts +89 -0
  116. package/dist/types/snippets.d.ts.map +1 -0
  117. package/dist/types/snippets.js +85 -0
  118. package/dist/types/snippets.js.map +1 -0
  119. package/dist/types/subscriptions.d.ts +63 -0
  120. package/dist/types/subscriptions.d.ts.map +1 -0
  121. package/dist/types/subscriptions.js +40 -0
  122. package/dist/types/subscriptions.js.map +1 -0
  123. package/dist/types/templates.d.ts +315 -0
  124. package/dist/types/templates.d.ts.map +1 -0
  125. package/dist/types/templates.js +357 -0
  126. package/dist/types/templates.js.map +1 -0
  127. package/dist/types/users.d.ts +144 -0
  128. package/dist/types/users.d.ts.map +1 -0
  129. package/dist/types/users.js +189 -0
  130. package/dist/types/users.js.map +1 -0
  131. package/dist/types/webhooks.d.ts +52 -0
  132. package/dist/types/webhooks.d.ts.map +1 -0
  133. package/dist/types/webhooks.js +32 -0
  134. package/dist/types/webhooks.js.map +1 -0
  135. package/package.json +73 -0
@@ -0,0 +1,138 @@
1
+ import { CatalogFieldMappingsResponseSchema, CatalogItemWithPropertiesSchema, GetCatalogItemsResponseSchema, GetCatalogsResponseSchema, } from "../types/catalogs.js";
2
+ import { IterableSuccessResponseSchema, } from "../types/common.js";
3
+ /**
4
+ * Catalogs operations mixin
5
+ */
6
+ export function Catalogs(Base) {
7
+ return class extends Base {
8
+ async createCatalog(catalogName) {
9
+ const response = await this.client.post(`/api/catalogs/${catalogName}`);
10
+ return this.validateResponse(response, IterableSuccessResponseSchema);
11
+ }
12
+ async updateCatalogItems(options) {
13
+ // Convert items array to documents object (map of id to values)
14
+ const documents = {};
15
+ options.items.forEach((item) => {
16
+ documents[item.id] = {
17
+ name: item.name,
18
+ description: item.description,
19
+ price: item.price,
20
+ categories: item.categories,
21
+ imageUrl: item.imageUrl,
22
+ url: item.url,
23
+ ...item.dataFields,
24
+ };
25
+ });
26
+ const response = await this.client.post(`/api/catalogs/${options.catalogName}/items`, {
27
+ documents,
28
+ replaceUploadedFieldsOnly: false,
29
+ });
30
+ return this.validateResponse(response, IterableSuccessResponseSchema);
31
+ }
32
+ async getCatalogItem(catalogName, itemId) {
33
+ const response = await this.client.get(`/api/catalogs/${catalogName}/items/${itemId}`);
34
+ return this.validateResponse(response, CatalogItemWithPropertiesSchema);
35
+ }
36
+ async deleteCatalogItem(catalogName, itemId) {
37
+ const response = await this.client.delete(`/api/catalogs/${catalogName}/items/${itemId}`);
38
+ return this.validateResponse(response, IterableSuccessResponseSchema);
39
+ }
40
+ /**
41
+ * Get list of all catalogs with optional pagination
42
+ */
43
+ async getCatalogs(params) {
44
+ const queryParams = new URLSearchParams();
45
+ if (params?.page) {
46
+ queryParams.append("page", params.page.toString());
47
+ }
48
+ if (params?.pageSize) {
49
+ queryParams.append("pageSize", params.pageSize.toString());
50
+ }
51
+ const url = `/api/catalogs${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
52
+ const response = await this.client.get(url);
53
+ // Check if the API wraps the response in params like other catalog endpoints
54
+ if (response.data && response.data.params) {
55
+ return this.validateResponse({ data: response.data.params }, GetCatalogsResponseSchema);
56
+ }
57
+ return this.validateResponse(response, GetCatalogsResponseSchema);
58
+ }
59
+ /**
60
+ * Get field mappings for a catalog
61
+ */
62
+ async getCatalogFieldMappings(params) {
63
+ const response = await this.client.get(`/api/catalogs/${encodeURIComponent(params.catalogName)}/fieldMappings`);
64
+ // The API returns { msg, code, params: { definedMappings, undefinedFields } }
65
+ // Extract params and validate that directly
66
+ return this.validateResponse({ data: response.data.params }, CatalogFieldMappingsResponseSchema);
67
+ }
68
+ /**
69
+ * Get catalog items with optional pagination and sorting
70
+ */
71
+ async getCatalogItems(params) {
72
+ const queryParams = new URLSearchParams();
73
+ if (params.page) {
74
+ queryParams.append("page", params.page.toString());
75
+ }
76
+ if (params.pageSize) {
77
+ queryParams.append("pageSize", params.pageSize.toString());
78
+ }
79
+ if (params.orderBy) {
80
+ queryParams.append("orderBy", params.orderBy);
81
+ }
82
+ if (params.sortAscending !== undefined) {
83
+ queryParams.append("sortAscending", params.sortAscending.toString());
84
+ }
85
+ const url = `/api/catalogs/${encodeURIComponent(params.catalogName)}/items${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
86
+ const response = await this.client.get(url);
87
+ // The API returns { msg, code, params: { catalogItemsWithProperties, totalItemsCount } }
88
+ // Extract params and validate that directly
89
+ return this.validateResponse({ data: response.data.params }, GetCatalogItemsResponseSchema);
90
+ }
91
+ /**
92
+ * Delete a catalog
93
+ */
94
+ async deleteCatalog(catalogName) {
95
+ const response = await this.client.delete(`/api/catalogs/${encodeURIComponent(catalogName)}`);
96
+ return this.validateResponse(response, IterableSuccessResponseSchema);
97
+ }
98
+ /**
99
+ * Update catalog field mappings (data types)
100
+ */
101
+ async updateCatalogFieldMappings(params) {
102
+ const response = await this.client.put(`/api/catalogs/${encodeURIComponent(params.catalogName)}/fieldMappings`, {
103
+ mappingsUpdates: params.mappingsUpdates,
104
+ });
105
+ return this.validateResponse(response, IterableSuccessResponseSchema);
106
+ }
107
+ /**
108
+ * Bulk delete catalog items
109
+ */
110
+ async bulkDeleteCatalogItems(params) {
111
+ const response = await this.client.delete(`/api/catalogs/${encodeURIComponent(params.catalogName)}/items`, {
112
+ data: {
113
+ itemIds: params.itemIds,
114
+ },
115
+ });
116
+ return this.validateResponse(response, IterableSuccessResponseSchema);
117
+ }
118
+ /**
119
+ * Partial update (PATCH) a catalog item - updates only specified fields
120
+ */
121
+ async partialUpdateCatalogItem(params) {
122
+ const response = await this.client.patch(`/api/catalogs/${encodeURIComponent(params.catalogName)}/items/${encodeURIComponent(params.itemId)}`, {
123
+ update: params.update,
124
+ });
125
+ return this.validateResponse(response, IterableSuccessResponseSchema);
126
+ }
127
+ /**
128
+ * Replace (PUT) a catalog item - replaces the entire item
129
+ */
130
+ async replaceCatalogItem(params) {
131
+ const response = await this.client.put(`/api/catalogs/${encodeURIComponent(params.catalogName)}/items/${encodeURIComponent(params.itemId)}`, {
132
+ value: params.value,
133
+ });
134
+ return this.validateResponse(response, IterableSuccessResponseSchema);
135
+ }
136
+ };
137
+ }
138
+ //# sourceMappingURL=catalogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogs.js","sourceRoot":"","sources":["../../src/client/catalogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kCAAkC,EAElC,+BAA+B,EAI/B,6BAA6B,EAG7B,yBAAyB,GAK1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,MAAM,UAAU,QAAQ,CAA4C,IAAO;IACzE,OAAO,KAAM,SAAQ,IAAI;QACvB,KAAK,CAAC,aAAa,CAAC,WAAmB;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,kBAAkB,CACtB,OAAgC;YAEhC,gEAAgE;YAChE,MAAM,SAAS,GAAwB,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,IAAI,CAAC,UAAU;iBACnB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,iBAAiB,OAAO,CAAC,WAAW,QAAQ,EAC5C;gBACE,SAAS;gBACT,yBAAyB,EAAE,KAAK;aACjC,CACF,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,WAAmB,EACnB,MAAc;YAEd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,iBAAiB,WAAW,UAAU,MAAM,EAAE,CAC/C,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,CAAC,iBAAiB,CACrB,WAAmB,EACnB,MAAc;YAEd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,iBAAiB,WAAW,UAAU,MAAM,EAAE,CAC/C,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,WAAW,CACf,MAA0B;YAE1B,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAE1C,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;gBACjB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACrB,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,GAAG,GAAG,gBAAgB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,6EAA6E;YAC7E,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,gBAAgB,CAC1B,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAC9B,yBAAyB,CAC1B,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QACpE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,uBAAuB,CAC3B,MAAqC;YAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CACxE,CAAC;YACF,8EAA8E;YAC9E,4CAA4C;YAC5C,OAAO,IAAI,CAAC,gBAAgB,CAC1B,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAC9B,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,eAAe,CACnB,MAA6B;YAE7B,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAE1C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACvC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,GAAG,GAAG,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,SACjE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAC1D,EAAE,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,yFAAyF;YACzF,4CAA4C;YAC5C,OAAO,IAAI,CAAC,gBAAgB,CAC1B,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAC9B,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,aAAa,CAAC,WAAmB;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACnD,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,0BAA0B,CAC9B,MAAwC;YAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,EACvE;gBACE,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CACF,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,sBAAsB,CAC1B,MAAoC;YAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAC/D;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB;aACF,CACF,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,wBAAwB,CAC5B,MAAsC;YAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACtC,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EACpG;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CACF,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,kBAAkB,CACtB,MAAgC;YAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EACpG;gBACE,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CACF,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { IterableSuccessResponse } from "../types/common.js";
2
+ import { BulkTrackResponse, GetUserEventsByEmailParams, GetUserEventsByEmailResponse, GetUserEventsByUserIdParams, GetUserEventsByUserIdResponse, TrackBulkEventsParams, TrackEventParams } from "../types/events.js";
3
+ import type { Constructor } from "./base.js";
4
+ import type { BaseIterableClient } from "./base.js";
5
+ /**
6
+ * Events operations mixin
7
+ */
8
+ export declare function Events<T extends Constructor<BaseIterableClient>>(Base: T): {
9
+ new (...args: any[]): {
10
+ trackEvent(event: TrackEventParams): Promise<IterableSuccessResponse>;
11
+ trackBulkEvents(params: TrackBulkEventsParams): Promise<BulkTrackResponse>;
12
+ /**
13
+ * Get events for a user by email
14
+ */
15
+ getUserEventsByEmail(options: GetUserEventsByEmailParams, opts?: {
16
+ signal?: AbortSignal;
17
+ }): Promise<GetUserEventsByEmailResponse>;
18
+ /**
19
+ * Get events for a user by userId
20
+ */
21
+ getUserEventsByUserId(options: GetUserEventsByUserIdParams, opts?: {
22
+ signal?: AbortSignal;
23
+ }): Promise<GetUserEventsByUserIdResponse>;
24
+ client: import("axios").AxiosInstance;
25
+ "__#private@#httpAgent"?: import("http").Agent;
26
+ "__#private@#httpsAgent"?: import("https").Agent;
27
+ parseNdjson(data: string): any[];
28
+ parseCsv(data: string): any[];
29
+ validateResponse<T_1>(response: {
30
+ data: unknown;
31
+ config?: {
32
+ url?: string;
33
+ };
34
+ }, schema: import("zod").ZodType<T_1>): T_1;
35
+ destroy(): void;
36
+ };
37
+ } & T;
38
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/client/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EACL,iBAAiB,EAEjB,0BAA0B,EAC1B,4BAA4B,EAE5B,2BAA2B,EAC3B,6BAA6B,EAE7B,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC;;0BAG5D,gBAAgB,GACtB,OAAO,CAAC,uBAAuB,CAAC;gCAMzB,qBAAqB,GAC5B,OAAO,CAAC,iBAAiB,CAAC;QAK7B;;WAEG;sCAEQ,0BAA0B,SAC5B;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,GAC9B,OAAO,CAAC,4BAA4B,CAAC;QAcxC;;WAEG;uCAEQ,2BAA2B,SAC7B;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,GAC9B,OAAO,CAAC,6BAA6B,CAAC;;;;;;;;kBAe69E,CAAC;mBAAO,CAAC;;;;;MADlhF"}
@@ -0,0 +1,38 @@
1
+ import { IterableSuccessResponseSchema } from "../types/common.js";
2
+ import { BulkTrackResponseSchema, GetUserEventsByEmailResponseSchema, GetUserEventsByUserIdResponseSchema, } from "../types/events.js";
3
+ /**
4
+ * Events operations mixin
5
+ */
6
+ export function Events(Base) {
7
+ return class extends Base {
8
+ async trackEvent(event) {
9
+ const response = await this.client.post("/api/events/track", event);
10
+ return this.validateResponse(response, IterableSuccessResponseSchema);
11
+ }
12
+ async trackBulkEvents(params) {
13
+ const response = await this.client.post("/api/events/trackBulk", params);
14
+ return this.validateResponse(response, BulkTrackResponseSchema);
15
+ }
16
+ /**
17
+ * Get events for a user by email
18
+ */
19
+ async getUserEventsByEmail(options, opts) {
20
+ const params = new URLSearchParams();
21
+ if (options.limit)
22
+ params.append("limit", options.limit.toString());
23
+ const response = await this.client.get(`/api/events/${encodeURIComponent(options.email)}${params.toString() ? `?${params.toString()}` : ""}`, opts?.signal ? { signal: opts.signal } : {});
24
+ return this.validateResponse(response, GetUserEventsByEmailResponseSchema);
25
+ }
26
+ /**
27
+ * Get events for a user by userId
28
+ */
29
+ async getUserEventsByUserId(options, opts) {
30
+ const params = new URLSearchParams();
31
+ if (options.limit)
32
+ params.append("limit", options.limit.toString());
33
+ const response = await this.client.get(`/api/events/byUserId/${encodeURIComponent(options.userId)}${params.toString() ? `?${params.toString()}` : ""}`, opts?.signal ? { signal: opts.signal } : {});
34
+ return this.validateResponse(response, GetUserEventsByUserIdResponseSchema);
35
+ }
36
+ };
37
+ }
38
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/client/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAEL,uBAAuB,EAGvB,kCAAkC,EAGlC,mCAAmC,GAGpC,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,MAAM,UAAU,MAAM,CAA4C,IAAO;IACvE,OAAO,KAAM,SAAQ,IAAI;QACvB,KAAK,CAAC,UAAU,CACd,KAAuB;YAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,MAA6B;YAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAClE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,oBAAoB,CACxB,OAAmC,EACnC,IAA+B;YAE/B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,KAAK;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,eAAe,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACrG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAC1B,QAAQ,EACR,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,qBAAqB,CACzB,OAAoC,EACpC,IAA+B;YAE/B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,KAAK;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,wBAAwB,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC/G,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAC1B,QAAQ,EACR,mCAAmC,CACpC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { ExperimentMetricsResponse, GetExperimentMetricsParams } from "../types/experiments.js";
2
+ import type { Constructor } from "./base.js";
3
+ import type { BaseIterableClient } from "./base.js";
4
+ /**
5
+ * Experiments operations mixin
6
+ */
7
+ export declare function Experiments<T extends Constructor<BaseIterableClient>>(Base: T): {
8
+ new (...args: any[]): {
9
+ getExperimentMetrics(params?: GetExperimentMetricsParams): Promise<ExperimentMetricsResponse>;
10
+ client: import("axios").AxiosInstance;
11
+ "__#private@#httpAgent"?: import("http").Agent;
12
+ "__#private@#httpsAgent"?: import("https").Agent;
13
+ parseNdjson(data: string): any[];
14
+ parseCsv(data: string): any[];
15
+ validateResponse<T_1>(response: {
16
+ data: unknown;
17
+ config?: {
18
+ url?: string;
19
+ };
20
+ }, schema: import("zod").ZodType<T_1>): T_1;
21
+ destroy(): void;
22
+ };
23
+ } & T;
24
+ //# sourceMappingURL=experiments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/client/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,kBAAkB,CAAC,EACnE,IAAI,EAAE,CAAC;;sCAIM,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC;;;;;;;;kBAgC2kH,CAAC;mBAAO,CAAC;;;;;MAD5nH"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Experiments operations mixin
3
+ */
4
+ export function Experiments(Base) {
5
+ return class extends Base {
6
+ async getExperimentMetrics(params) {
7
+ const queryParams = new URLSearchParams();
8
+ if (params?.experimentId && params.experimentId.length > 0) {
9
+ params.experimentId.forEach((id) => queryParams.append("experimentId", id.toString()));
10
+ }
11
+ if (params?.campaignId && params.campaignId.length > 0) {
12
+ params.campaignId.forEach((id) => queryParams.append("campaignId", id.toString()));
13
+ }
14
+ if (params?.startDateTime) {
15
+ queryParams.append("startDateTime", params.startDateTime);
16
+ }
17
+ if (params?.endDateTime) {
18
+ queryParams.append("endDateTime", params.endDateTime);
19
+ }
20
+ const url = `/api/experiments/metrics${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
21
+ const response = await this.client.get(url, {
22
+ responseType: "text",
23
+ });
24
+ // Parse CSV response into array of objects
25
+ return this.parseCsv(response.data);
26
+ }
27
+ };
28
+ }
29
+ //# sourceMappingURL=experiments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/client/experiments.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAO;IAEP,OAAO,KAAM,SAAQ,IAAI;QACvB,KAAK,CAAC,oBAAoB,CACxB,MAAmC;YAEnC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAE1C,IAAI,MAAM,EAAE,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CACjC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAClD,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/B,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAChD,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,GAAG,GAAG,2BACV,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAC1D,EAAE,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC1C,YAAY,EAAE,MAAM;aACrB,CAAC,CAAC;YAEH,2CAA2C;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { CancelExportJobParams, CancelExportJobResponse, GetExportFilesParams, GetExportFilesResponse, GetExportJobsParams, GetExportJobsResponse, StartExportJobParams, StartExportJobResponse } from "../types/export.js";
2
+ import type { Constructor } from "./base.js";
3
+ import type { BaseIterableClient } from "./base.js";
4
+ /**
5
+ * Export operations mixin
6
+ */
7
+ export declare function Export<T extends Constructor<BaseIterableClient>>(Base: T): {
8
+ new (...args: any[]): {
9
+ getExportJobs(params?: GetExportJobsParams): Promise<GetExportJobsResponse>;
10
+ getExportFiles(params: GetExportFilesParams): Promise<GetExportFilesResponse>;
11
+ startExportJob(params: StartExportJobParams): Promise<StartExportJobResponse>;
12
+ cancelExportJob(params: CancelExportJobParams): Promise<CancelExportJobResponse>;
13
+ client: import("axios").AxiosInstance;
14
+ "__#private@#httpAgent"?: import("http").Agent;
15
+ "__#private@#httpsAgent"?: import("https").Agent;
16
+ parseNdjson(data: string): any[];
17
+ parseCsv(data: string): any[];
18
+ validateResponse<T_1>(response: {
19
+ data: unknown;
20
+ config?: {
21
+ url?: string;
22
+ };
23
+ }, schema: import("zod").ZodType<T_1>): T_1;
24
+ destroy(): void;
25
+ };
26
+ } & T;
27
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/client/export.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC;;+BAG1D,mBAAmB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;+BAWvB,oBAAoB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;+BAWxB,oBAAoB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;gCAMxB,qBAAqB,GAC5B,OAAO,CAAC,uBAAuB,CAAC;;;;;;;;kBAMmxG,CAAC;mBAAO,CAAC;;;;;MADl0G"}
@@ -0,0 +1,31 @@
1
+ import { StartExportJobResponseSchema, } from "../types/export.js";
2
+ /**
3
+ * Export operations mixin
4
+ */
5
+ export function Export(Base) {
6
+ return class extends Base {
7
+ async getExportJobs(params) {
8
+ const urlParams = new URLSearchParams();
9
+ if (params?.jobState)
10
+ urlParams.append("jobState", params.jobState);
11
+ const response = await this.client.get(`/api/export/jobs?${urlParams.toString()}`);
12
+ return response.data;
13
+ }
14
+ async getExportFiles(params) {
15
+ const urlParams = new URLSearchParams();
16
+ if (params.startAfter)
17
+ urlParams.append("startAfter", params.startAfter);
18
+ const response = await this.client.get(`/api/export/${params.jobId}/files?${urlParams.toString()}`);
19
+ return response.data;
20
+ }
21
+ async startExportJob(params) {
22
+ const response = await this.client.post("/api/export/start", params);
23
+ return this.validateResponse(response, StartExportJobResponseSchema);
24
+ }
25
+ async cancelExportJob(params) {
26
+ const response = await this.client.delete(`/api/export/${params.jobId}`);
27
+ return response.data;
28
+ }
29
+ };
30
+ }
31
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/client/export.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,MAAM,UAAU,MAAM,CAA4C,IAAO;IACvE,OAAO,KAAM,SAAQ,IAAI;QACvB,KAAK,CAAC,aAAa,CACjB,MAA4B;YAE5B,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,MAAM,EAAE,QAAQ;gBAAE,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,oBAAoB,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC3C,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,MAA4B;YAE5B,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,UAAU;gBAAE,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,eAAe,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC5D,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,MAA4B;YAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,MAA6B;YAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}