@aws-amplify/analytics 0.0.0-unstable-1ca644b-20260128091132

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 (456) hide show
  1. package/README.md +3 -0
  2. package/dist/cjs/apis/disable.js +16 -0
  3. package/dist/cjs/apis/disable.js.map +1 -0
  4. package/dist/cjs/apis/enable.js +15 -0
  5. package/dist/cjs/apis/enable.js.map +1 -0
  6. package/dist/cjs/apis/index.js +11 -0
  7. package/dist/cjs/apis/index.js.map +1 -0
  8. package/dist/cjs/errors/AnalyticsError.js +21 -0
  9. package/dist/cjs/errors/AnalyticsError.js.map +1 -0
  10. package/dist/cjs/errors/assertValidationError.js +22 -0
  11. package/dist/cjs/errors/assertValidationError.js.map +1 -0
  12. package/dist/cjs/errors/index.js +14 -0
  13. package/dist/cjs/errors/index.js.map +1 -0
  14. package/dist/cjs/errors/validation.js +44 -0
  15. package/dist/cjs/errors/validation.js.map +1 -0
  16. package/dist/cjs/index.js +17 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/providers/kinesis/apis/flushEvents.js +39 -0
  19. package/dist/cjs/providers/kinesis/apis/flushEvents.js.map +1 -0
  20. package/dist/cjs/providers/kinesis/apis/index.js +11 -0
  21. package/dist/cjs/providers/kinesis/apis/index.js.map +1 -0
  22. package/dist/cjs/providers/kinesis/apis/record.js +69 -0
  23. package/dist/cjs/providers/kinesis/apis/record.js.map +1 -0
  24. package/dist/cjs/providers/kinesis/index.js +10 -0
  25. package/dist/cjs/providers/kinesis/index.js.map +1 -0
  26. package/dist/cjs/providers/kinesis/types/buffer.js +6 -0
  27. package/dist/cjs/providers/kinesis/types/buffer.js.map +1 -0
  28. package/dist/cjs/providers/kinesis/types/index.js +6 -0
  29. package/dist/cjs/providers/kinesis/types/index.js.map +1 -0
  30. package/dist/cjs/providers/kinesis/types/inputs.js +6 -0
  31. package/dist/cjs/providers/kinesis/types/inputs.js.map +1 -0
  32. package/dist/cjs/providers/kinesis/utils/constants.js +13 -0
  33. package/dist/cjs/providers/kinesis/utils/constants.js.map +1 -0
  34. package/dist/cjs/providers/kinesis/utils/getEventBuffer.js +85 -0
  35. package/dist/cjs/providers/kinesis/utils/getEventBuffer.js.map +1 -0
  36. package/dist/cjs/providers/kinesis/utils/resolveConfig.js +27 -0
  37. package/dist/cjs/providers/kinesis/utils/resolveConfig.js.map +1 -0
  38. package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js +38 -0
  39. package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js.map +1 -0
  40. package/dist/cjs/providers/kinesis-firehose/apis/index.js +11 -0
  41. package/dist/cjs/providers/kinesis-firehose/apis/index.js.map +1 -0
  42. package/dist/cjs/providers/kinesis-firehose/apis/record.js +62 -0
  43. package/dist/cjs/providers/kinesis-firehose/apis/record.js.map +1 -0
  44. package/dist/cjs/providers/kinesis-firehose/index.js +10 -0
  45. package/dist/cjs/providers/kinesis-firehose/index.js.map +1 -0
  46. package/dist/cjs/providers/kinesis-firehose/types/buffer.js +6 -0
  47. package/dist/cjs/providers/kinesis-firehose/types/buffer.js.map +1 -0
  48. package/dist/cjs/providers/kinesis-firehose/types/index.js +6 -0
  49. package/dist/cjs/providers/kinesis-firehose/types/index.js.map +1 -0
  50. package/dist/cjs/providers/kinesis-firehose/types/inputs.js +6 -0
  51. package/dist/cjs/providers/kinesis-firehose/types/inputs.js.map +1 -0
  52. package/dist/cjs/providers/kinesis-firehose/utils/constants.js +13 -0
  53. package/dist/cjs/providers/kinesis-firehose/utils/constants.js.map +1 -0
  54. package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js +83 -0
  55. package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js.map +1 -0
  56. package/dist/cjs/providers/kinesis-firehose/utils/index.js +11 -0
  57. package/dist/cjs/providers/kinesis-firehose/utils/index.js.map +1 -0
  58. package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js +27 -0
  59. package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js.map +1 -0
  60. package/dist/cjs/providers/personalize/apis/flushEvents.js +37 -0
  61. package/dist/cjs/providers/personalize/apis/flushEvents.js.map +1 -0
  62. package/dist/cjs/providers/personalize/apis/index.js +11 -0
  63. package/dist/cjs/providers/personalize/apis/index.js.map +1 -0
  64. package/dist/cjs/providers/personalize/apis/record.js +98 -0
  65. package/dist/cjs/providers/personalize/apis/record.js.map +1 -0
  66. package/dist/cjs/providers/personalize/index.js +10 -0
  67. package/dist/cjs/providers/personalize/index.js.map +1 -0
  68. package/dist/cjs/providers/personalize/types/buffer.js +6 -0
  69. package/dist/cjs/providers/personalize/types/buffer.js.map +1 -0
  70. package/dist/cjs/providers/personalize/types/index.js +6 -0
  71. package/dist/cjs/providers/personalize/types/index.js.map +1 -0
  72. package/dist/cjs/providers/personalize/types/inputs.js +6 -0
  73. package/dist/cjs/providers/personalize/types/inputs.js.map +1 -0
  74. package/dist/cjs/providers/personalize/utils/autoTrackMedia.js +183 -0
  75. package/dist/cjs/providers/personalize/utils/autoTrackMedia.js.map +1 -0
  76. package/dist/cjs/providers/personalize/utils/cachedSession.js +51 -0
  77. package/dist/cjs/providers/personalize/utils/cachedSession.js.map +1 -0
  78. package/dist/cjs/providers/personalize/utils/constants.js +14 -0
  79. package/dist/cjs/providers/personalize/utils/constants.js.map +1 -0
  80. package/dist/cjs/providers/personalize/utils/getEventBuffer.js +86 -0
  81. package/dist/cjs/providers/personalize/utils/getEventBuffer.js.map +1 -0
  82. package/dist/cjs/providers/personalize/utils/index.js +19 -0
  83. package/dist/cjs/providers/personalize/utils/index.js.map +1 -0
  84. package/dist/cjs/providers/personalize/utils/resolveConfig.js +28 -0
  85. package/dist/cjs/providers/personalize/utils/resolveConfig.js.map +1 -0
  86. package/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js +39 -0
  87. package/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js.map +1 -0
  88. package/dist/cjs/providers/pinpoint/apis/flushEvents.js +43 -0
  89. package/dist/cjs/providers/pinpoint/apis/flushEvents.js.map +1 -0
  90. package/dist/cjs/providers/pinpoint/apis/identifyUser.js +75 -0
  91. package/dist/cjs/providers/pinpoint/apis/identifyUser.js.map +1 -0
  92. package/dist/cjs/providers/pinpoint/apis/index.js +15 -0
  93. package/dist/cjs/providers/pinpoint/apis/index.js.map +1 -0
  94. package/dist/cjs/providers/pinpoint/apis/record.js +74 -0
  95. package/dist/cjs/providers/pinpoint/apis/record.js.map +1 -0
  96. package/dist/cjs/providers/pinpoint/index.js +12 -0
  97. package/dist/cjs/providers/pinpoint/index.js.map +1 -0
  98. package/dist/cjs/providers/pinpoint/types/index.js +6 -0
  99. package/dist/cjs/providers/pinpoint/types/index.js.map +1 -0
  100. package/dist/cjs/providers/pinpoint/types/inputs.js +6 -0
  101. package/dist/cjs/providers/pinpoint/types/inputs.js.map +1 -0
  102. package/dist/cjs/providers/pinpoint/types/options.js +6 -0
  103. package/dist/cjs/providers/pinpoint/types/options.js.map +1 -0
  104. package/dist/cjs/providers/pinpoint/utils/index.js +11 -0
  105. package/dist/cjs/providers/pinpoint/utils/index.js.map +1 -0
  106. package/dist/cjs/providers/pinpoint/utils/resolveConfig.js +19 -0
  107. package/dist/cjs/providers/pinpoint/utils/resolveConfig.js.map +1 -0
  108. package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js +18 -0
  109. package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js.map +1 -0
  110. package/dist/cjs/trackers/EventTracker.js +100 -0
  111. package/dist/cjs/trackers/EventTracker.js.map +1 -0
  112. package/dist/cjs/trackers/PageViewTracker.js +112 -0
  113. package/dist/cjs/trackers/PageViewTracker.js.map +1 -0
  114. package/dist/cjs/trackers/SessionTracker.js +69 -0
  115. package/dist/cjs/trackers/SessionTracker.js.map +1 -0
  116. package/dist/cjs/trackers/SessionTracker.native.js +69 -0
  117. package/dist/cjs/trackers/SessionTracker.native.js.map +1 -0
  118. package/dist/cjs/trackers/index.js +13 -0
  119. package/dist/cjs/trackers/index.js.map +1 -0
  120. package/dist/cjs/types/index.js +6 -0
  121. package/dist/cjs/types/index.js.map +1 -0
  122. package/dist/cjs/types/inputs.js +6 -0
  123. package/dist/cjs/types/inputs.js.map +1 -0
  124. package/dist/cjs/types/kinesis.js +6 -0
  125. package/dist/cjs/types/kinesis.js.map +1 -0
  126. package/dist/cjs/types/options.js +6 -0
  127. package/dist/cjs/types/options.js.map +1 -0
  128. package/dist/cjs/types/trackers.js +6 -0
  129. package/dist/cjs/types/trackers.js.map +1 -0
  130. package/dist/cjs/utils/eventBuffer/EventBuffer.js +65 -0
  131. package/dist/cjs/utils/eventBuffer/EventBuffer.js.map +1 -0
  132. package/dist/cjs/utils/eventBuffer/index.js +9 -0
  133. package/dist/cjs/utils/eventBuffer/index.js.map +1 -0
  134. package/dist/cjs/utils/eventBuffer/types.js +6 -0
  135. package/dist/cjs/utils/eventBuffer/types.js.map +1 -0
  136. package/dist/cjs/utils/groupBy.js +14 -0
  137. package/dist/cjs/utils/groupBy.js.map +1 -0
  138. package/dist/cjs/utils/index.js +24 -0
  139. package/dist/cjs/utils/index.js.map +1 -0
  140. package/dist/cjs/utils/resolveCredentials.js +15 -0
  141. package/dist/cjs/utils/resolveCredentials.js.map +1 -0
  142. package/dist/cjs/utils/statusHelpers.js +21 -0
  143. package/dist/cjs/utils/statusHelpers.js.map +1 -0
  144. package/dist/cjs/utils/trackerConfigHelpers.js +17 -0
  145. package/dist/cjs/utils/trackerConfigHelpers.js.map +1 -0
  146. package/dist/cjs/utils/trackerConfigHelpers.native.js +16 -0
  147. package/dist/cjs/utils/trackerConfigHelpers.native.js.map +1 -0
  148. package/dist/cjs/utils/trackerHelpers.js +46 -0
  149. package/dist/cjs/utils/trackerHelpers.js.map +1 -0
  150. package/dist/cjs/utils/userAgent.js +21 -0
  151. package/dist/cjs/utils/userAgent.js.map +1 -0
  152. package/dist/esm/apis/disable.d.ts +8 -0
  153. package/dist/esm/apis/disable.mjs +22 -0
  154. package/dist/esm/apis/disable.mjs.map +1 -0
  155. package/dist/esm/apis/enable.d.ts +7 -0
  156. package/dist/esm/apis/enable.mjs +21 -0
  157. package/dist/esm/apis/enable.mjs.map +1 -0
  158. package/dist/esm/apis/index.d.ts +2 -0
  159. package/dist/esm/apis/index.mjs +3 -0
  160. package/dist/esm/apis/index.mjs.map +1 -0
  161. package/dist/esm/errors/AnalyticsError.d.ts +7 -0
  162. package/dist/esm/errors/AnalyticsError.mjs +19 -0
  163. package/dist/esm/errors/AnalyticsError.mjs.map +1 -0
  164. package/dist/esm/errors/assertValidationError.d.ts +5 -0
  165. package/dist/esm/errors/assertValidationError.mjs +21 -0
  166. package/dist/esm/errors/assertValidationError.mjs.map +1 -0
  167. package/dist/esm/errors/index.d.ts +3 -0
  168. package/dist/esm/errors/index.mjs +4 -0
  169. package/dist/esm/errors/index.mjs.map +1 -0
  170. package/dist/esm/errors/validation.d.ts +12 -0
  171. package/dist/esm/errors/validation.mjs +42 -0
  172. package/dist/esm/errors/validation.mjs.map +1 -0
  173. package/dist/esm/index.d.ts +3 -0
  174. package/dist/esm/index.mjs +9 -0
  175. package/dist/esm/index.mjs.map +1 -0
  176. package/dist/esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
  177. package/dist/esm/providers/kinesis/apis/flushEvents.mjs +43 -0
  178. package/dist/esm/providers/kinesis/apis/flushEvents.mjs.map +1 -0
  179. package/dist/esm/providers/kinesis/apis/index.d.ts +2 -0
  180. package/dist/esm/providers/kinesis/apis/index.mjs +3 -0
  181. package/dist/esm/providers/kinesis/apis/index.mjs.map +1 -0
  182. package/dist/esm/providers/kinesis/apis/record.d.ts +23 -0
  183. package/dist/esm/providers/kinesis/apis/record.mjs +74 -0
  184. package/dist/esm/providers/kinesis/apis/record.mjs.map +1 -0
  185. package/dist/esm/providers/kinesis/index.d.ts +1 -0
  186. package/dist/esm/providers/kinesis/index.mjs +3 -0
  187. package/dist/esm/providers/kinesis/index.mjs.map +1 -0
  188. package/dist/esm/providers/kinesis/types/buffer.d.ts +15 -0
  189. package/dist/esm/providers/kinesis/types/buffer.mjs +2 -0
  190. package/dist/esm/providers/kinesis/types/buffer.mjs.map +1 -0
  191. package/dist/esm/providers/kinesis/types/index.d.ts +2 -0
  192. package/dist/esm/providers/kinesis/types/index.mjs +2 -0
  193. package/dist/esm/providers/kinesis/types/index.mjs.map +1 -0
  194. package/dist/esm/providers/kinesis/types/inputs.d.ts +6 -0
  195. package/dist/esm/providers/kinesis/types/inputs.mjs +2 -0
  196. package/dist/esm/providers/kinesis/types/inputs.mjs.map +1 -0
  197. package/dist/esm/providers/kinesis/utils/constants.d.ts +6 -0
  198. package/dist/esm/providers/kinesis/utils/constants.mjs +11 -0
  199. package/dist/esm/providers/kinesis/utils/constants.mjs.map +1 -0
  200. package/dist/esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  201. package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs +89 -0
  202. package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs.map +1 -0
  203. package/dist/esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  204. package/dist/esm/providers/kinesis/utils/resolveConfig.mjs +27 -0
  205. package/dist/esm/providers/kinesis/utils/resolveConfig.mjs.map +1 -0
  206. package/dist/esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  207. package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs +43 -0
  208. package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs.map +1 -0
  209. package/dist/esm/providers/kinesis-firehose/apis/index.d.ts +2 -0
  210. package/dist/esm/providers/kinesis-firehose/apis/index.mjs +3 -0
  211. package/dist/esm/providers/kinesis-firehose/apis/index.mjs.map +1 -0
  212. package/dist/esm/providers/kinesis-firehose/apis/record.d.ts +19 -0
  213. package/dist/esm/providers/kinesis-firehose/apis/record.mjs +68 -0
  214. package/dist/esm/providers/kinesis-firehose/apis/record.mjs.map +1 -0
  215. package/dist/esm/providers/kinesis-firehose/index.d.ts +1 -0
  216. package/dist/esm/providers/kinesis-firehose/index.mjs +3 -0
  217. package/dist/esm/providers/kinesis-firehose/index.mjs.map +1 -0
  218. package/dist/esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  219. package/dist/esm/providers/kinesis-firehose/types/buffer.mjs +2 -0
  220. package/dist/esm/providers/kinesis-firehose/types/buffer.mjs.map +1 -0
  221. package/dist/esm/providers/kinesis-firehose/types/index.d.ts +2 -0
  222. package/dist/esm/providers/kinesis-firehose/types/index.mjs +2 -0
  223. package/dist/esm/providers/kinesis-firehose/types/index.mjs.map +1 -0
  224. package/dist/esm/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  225. package/dist/esm/providers/kinesis-firehose/types/inputs.mjs +2 -0
  226. package/dist/esm/providers/kinesis-firehose/types/inputs.mjs.map +1 -0
  227. package/dist/esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  228. package/dist/esm/providers/kinesis-firehose/utils/constants.mjs +11 -0
  229. package/dist/esm/providers/kinesis-firehose/utils/constants.mjs.map +1 -0
  230. package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  231. package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs +87 -0
  232. package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs.map +1 -0
  233. package/dist/esm/providers/kinesis-firehose/utils/index.d.ts +2 -0
  234. package/dist/esm/providers/kinesis-firehose/utils/index.mjs +3 -0
  235. package/dist/esm/providers/kinesis-firehose/utils/index.mjs.map +1 -0
  236. package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  237. package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs +27 -0
  238. package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs.map +1 -0
  239. package/dist/esm/providers/personalize/apis/flushEvents.d.ts +8 -0
  240. package/dist/esm/providers/personalize/apis/flushEvents.mjs +43 -0
  241. package/dist/esm/providers/personalize/apis/flushEvents.mjs.map +1 -0
  242. package/dist/esm/providers/personalize/apis/index.d.ts +2 -0
  243. package/dist/esm/providers/personalize/apis/index.mjs +3 -0
  244. package/dist/esm/providers/personalize/apis/index.mjs.map +1 -0
  245. package/dist/esm/providers/personalize/apis/record.d.ts +27 -0
  246. package/dist/esm/providers/personalize/apis/record.mjs +106 -0
  247. package/dist/esm/providers/personalize/apis/record.mjs.map +1 -0
  248. package/dist/esm/providers/personalize/index.d.ts +1 -0
  249. package/dist/esm/providers/personalize/index.mjs +3 -0
  250. package/dist/esm/providers/personalize/index.mjs.map +1 -0
  251. package/dist/esm/providers/personalize/types/buffer.d.ts +16 -0
  252. package/dist/esm/providers/personalize/types/buffer.mjs +2 -0
  253. package/dist/esm/providers/personalize/types/buffer.mjs.map +1 -0
  254. package/dist/esm/providers/personalize/types/index.d.ts +2 -0
  255. package/dist/esm/providers/personalize/types/index.mjs +2 -0
  256. package/dist/esm/providers/personalize/types/index.mjs.map +1 -0
  257. package/dist/esm/providers/personalize/types/inputs.d.ts +7 -0
  258. package/dist/esm/providers/personalize/types/inputs.mjs +2 -0
  259. package/dist/esm/providers/personalize/types/inputs.mjs.map +1 -0
  260. package/dist/esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  261. package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs +181 -0
  262. package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs.map +1 -0
  263. package/dist/esm/providers/personalize/utils/cachedSession.d.ts +5 -0
  264. package/dist/esm/providers/personalize/utils/cachedSession.mjs +48 -0
  265. package/dist/esm/providers/personalize/utils/cachedSession.mjs.map +1 -0
  266. package/dist/esm/providers/personalize/utils/constants.d.ts +7 -0
  267. package/dist/esm/providers/personalize/utils/constants.mjs +12 -0
  268. package/dist/esm/providers/personalize/utils/constants.mjs.map +1 -0
  269. package/dist/esm/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  270. package/dist/esm/providers/personalize/utils/getEventBuffer.mjs +90 -0
  271. package/dist/esm/providers/personalize/utils/getEventBuffer.mjs.map +1 -0
  272. package/dist/esm/providers/personalize/utils/index.d.ts +5 -0
  273. package/dist/esm/providers/personalize/utils/index.mjs +6 -0
  274. package/dist/esm/providers/personalize/utils/index.mjs.map +1 -0
  275. package/dist/esm/providers/personalize/utils/resolveConfig.d.ts +7 -0
  276. package/dist/esm/providers/personalize/utils/resolveConfig.mjs +28 -0
  277. package/dist/esm/providers/personalize/utils/resolveConfig.mjs.map +1 -0
  278. package/dist/esm/providers/pinpoint/apis/configureAutoTrack.d.ts +17 -0
  279. package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs +42 -0
  280. package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs.map +1 -0
  281. package/dist/esm/providers/pinpoint/apis/flushEvents.d.ts +10 -0
  282. package/dist/esm/providers/pinpoint/apis/flushEvents.mjs +47 -0
  283. package/dist/esm/providers/pinpoint/apis/flushEvents.mjs.map +1 -0
  284. package/dist/esm/providers/pinpoint/apis/identifyUser.d.ts +49 -0
  285. package/dist/esm/providers/pinpoint/apis/identifyUser.mjs +80 -0
  286. package/dist/esm/providers/pinpoint/apis/identifyUser.mjs.map +1 -0
  287. package/dist/esm/providers/pinpoint/apis/index.d.ts +4 -0
  288. package/dist/esm/providers/pinpoint/apis/index.mjs +5 -0
  289. package/dist/esm/providers/pinpoint/apis/index.mjs.map +1 -0
  290. package/dist/esm/providers/pinpoint/apis/record.d.ts +32 -0
  291. package/dist/esm/providers/pinpoint/apis/record.mjs +79 -0
  292. package/dist/esm/providers/pinpoint/apis/record.mjs.map +1 -0
  293. package/dist/esm/providers/pinpoint/index.d.ts +2 -0
  294. package/dist/esm/providers/pinpoint/index.mjs +5 -0
  295. package/dist/esm/providers/pinpoint/index.mjs.map +1 -0
  296. package/dist/esm/providers/pinpoint/types/index.d.ts +2 -0
  297. package/dist/esm/providers/pinpoint/types/index.mjs +2 -0
  298. package/dist/esm/providers/pinpoint/types/index.mjs.map +1 -0
  299. package/dist/esm/providers/pinpoint/types/inputs.d.ts +15 -0
  300. package/dist/esm/providers/pinpoint/types/inputs.mjs +2 -0
  301. package/dist/esm/providers/pinpoint/types/inputs.mjs.map +1 -0
  302. package/dist/esm/providers/pinpoint/types/options.d.ts +5 -0
  303. package/dist/esm/providers/pinpoint/types/options.mjs +2 -0
  304. package/dist/esm/providers/pinpoint/types/options.mjs.map +1 -0
  305. package/dist/esm/providers/pinpoint/utils/index.d.ts +2 -0
  306. package/dist/esm/providers/pinpoint/utils/index.mjs +3 -0
  307. package/dist/esm/providers/pinpoint/utils/index.mjs.map +1 -0
  308. package/dist/esm/providers/pinpoint/utils/resolveConfig.d.ts +11 -0
  309. package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs +19 -0
  310. package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs.map +1 -0
  311. package/dist/esm/providers/pinpoint/utils/resolveCredentials.d.ts +7 -0
  312. package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs +18 -0
  313. package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs.map +1 -0
  314. package/dist/esm/trackers/EventTracker.d.ts +10 -0
  315. package/dist/esm/trackers/EventTracker.mjs +98 -0
  316. package/dist/esm/trackers/EventTracker.mjs.map +1 -0
  317. package/dist/esm/trackers/PageViewTracker.d.ts +18 -0
  318. package/dist/esm/trackers/PageViewTracker.mjs +110 -0
  319. package/dist/esm/trackers/PageViewTracker.mjs.map +1 -0
  320. package/dist/esm/trackers/SessionTracker.d.ts +13 -0
  321. package/dist/esm/trackers/SessionTracker.mjs +67 -0
  322. package/dist/esm/trackers/SessionTracker.mjs.map +1 -0
  323. package/dist/esm/trackers/SessionTracker.native.d.ts +13 -0
  324. package/dist/esm/trackers/SessionTracker.native.mjs +67 -0
  325. package/dist/esm/trackers/SessionTracker.native.mjs.map +1 -0
  326. package/dist/esm/trackers/index.d.ts +3 -0
  327. package/dist/esm/trackers/index.mjs +4 -0
  328. package/dist/esm/trackers/index.mjs.map +1 -0
  329. package/dist/esm/types/index.d.ts +3 -0
  330. package/dist/esm/types/index.mjs +2 -0
  331. package/dist/esm/types/index.mjs.map +1 -0
  332. package/dist/esm/types/inputs.d.ts +35 -0
  333. package/dist/esm/types/inputs.mjs +2 -0
  334. package/dist/esm/types/inputs.mjs.map +1 -0
  335. package/dist/esm/types/kinesis.d.ts +8 -0
  336. package/dist/esm/types/kinesis.mjs +2 -0
  337. package/dist/esm/types/kinesis.mjs.map +1 -0
  338. package/dist/esm/types/options.d.ts +4 -0
  339. package/dist/esm/types/options.mjs +2 -0
  340. package/dist/esm/types/options.mjs.map +1 -0
  341. package/dist/esm/types/trackers.d.ts +22 -0
  342. package/dist/esm/types/trackers.mjs +2 -0
  343. package/dist/esm/types/trackers.mjs.map +1 -0
  344. package/dist/esm/utils/eventBuffer/EventBuffer.d.ts +16 -0
  345. package/dist/esm/utils/eventBuffer/EventBuffer.mjs +63 -0
  346. package/dist/esm/utils/eventBuffer/EventBuffer.mjs.map +1 -0
  347. package/dist/esm/utils/eventBuffer/index.d.ts +2 -0
  348. package/dist/esm/utils/eventBuffer/index.mjs +2 -0
  349. package/dist/esm/utils/eventBuffer/index.mjs.map +1 -0
  350. package/dist/esm/utils/eventBuffer/types.d.ts +6 -0
  351. package/dist/esm/utils/eventBuffer/types.mjs +2 -0
  352. package/dist/esm/utils/eventBuffer/types.mjs.map +1 -0
  353. package/dist/esm/utils/groupBy.d.ts +1 -0
  354. package/dist/esm/utils/groupBy.mjs +11 -0
  355. package/dist/esm/utils/groupBy.mjs.map +1 -0
  356. package/dist/esm/utils/index.d.ts +7 -0
  357. package/dist/esm/utils/index.mjs +8 -0
  358. package/dist/esm/utils/index.mjs.map +1 -0
  359. package/dist/esm/utils/resolveCredentials.d.ts +4 -0
  360. package/dist/esm/utils/resolveCredentials.mjs +15 -0
  361. package/dist/esm/utils/resolveCredentials.mjs.map +1 -0
  362. package/dist/esm/utils/statusHelpers.d.ts +6 -0
  363. package/dist/esm/utils/statusHelpers.mjs +16 -0
  364. package/dist/esm/utils/statusHelpers.mjs.map +1 -0
  365. package/dist/esm/utils/trackerConfigHelpers.d.ts +5 -0
  366. package/dist/esm/utils/trackerConfigHelpers.mjs +17 -0
  367. package/dist/esm/utils/trackerConfigHelpers.mjs.map +1 -0
  368. package/dist/esm/utils/trackerConfigHelpers.native.d.ts +5 -0
  369. package/dist/esm/utils/trackerConfigHelpers.native.mjs +16 -0
  370. package/dist/esm/utils/trackerConfigHelpers.native.mjs.map +1 -0
  371. package/dist/esm/utils/trackerHelpers.d.ts +9 -0
  372. package/dist/esm/utils/trackerHelpers.mjs +46 -0
  373. package/dist/esm/utils/trackerHelpers.mjs.map +1 -0
  374. package/dist/esm/utils/userAgent.d.ts +4 -0
  375. package/dist/esm/utils/userAgent.mjs +19 -0
  376. package/dist/esm/utils/userAgent.mjs.map +1 -0
  377. package/kinesis/package.json +8 -0
  378. package/kinesis-firehose/package.json +8 -0
  379. package/package.json +110 -0
  380. package/personalize/package.json +8 -0
  381. package/pinpoint/package.json +8 -0
  382. package/src/apis/disable.ts +13 -0
  383. package/src/apis/enable.ts +12 -0
  384. package/src/apis/index.ts +5 -0
  385. package/src/errors/AnalyticsError.ts +21 -0
  386. package/src/errors/assertValidationError.ts +25 -0
  387. package/src/errors/index.ts +6 -0
  388. package/src/errors/validation.ts +43 -0
  389. package/src/index.ts +14 -0
  390. package/src/providers/kinesis/apis/flushEvents.ts +43 -0
  391. package/src/providers/kinesis/apis/index.ts +5 -0
  392. package/src/providers/kinesis/apis/record.ts +82 -0
  393. package/src/providers/kinesis/index.ts +4 -0
  394. package/src/providers/kinesis/types/buffer.ts +21 -0
  395. package/src/providers/kinesis/types/index.ts +5 -0
  396. package/src/providers/kinesis/types/inputs.ts +10 -0
  397. package/src/providers/kinesis/utils/constants.ts +9 -0
  398. package/src/providers/kinesis/utils/getEventBuffer.ts +130 -0
  399. package/src/providers/kinesis/utils/resolveConfig.ts +39 -0
  400. package/src/providers/kinesis-firehose/apis/flushEvents.ts +42 -0
  401. package/src/providers/kinesis-firehose/apis/index.ts +5 -0
  402. package/src/providers/kinesis-firehose/apis/record.ts +71 -0
  403. package/src/providers/kinesis-firehose/index.ts +4 -0
  404. package/src/providers/kinesis-firehose/types/buffer.ts +21 -0
  405. package/src/providers/kinesis-firehose/types/index.ts +9 -0
  406. package/src/providers/kinesis-firehose/types/inputs.ts +9 -0
  407. package/src/providers/kinesis-firehose/utils/constants.ts +9 -0
  408. package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +138 -0
  409. package/src/providers/kinesis-firehose/utils/index.ts +5 -0
  410. package/src/providers/kinesis-firehose/utils/resolveConfig.ts +39 -0
  411. package/src/providers/personalize/apis/flushEvents.ts +40 -0
  412. package/src/providers/personalize/apis/index.ts +5 -0
  413. package/src/providers/personalize/apis/record.ts +130 -0
  414. package/src/providers/personalize/index.ts +4 -0
  415. package/src/providers/personalize/types/buffer.ts +23 -0
  416. package/src/providers/personalize/types/index.ts +5 -0
  417. package/src/providers/personalize/types/inputs.ts +11 -0
  418. package/src/providers/personalize/utils/autoTrackMedia.ts +240 -0
  419. package/src/providers/personalize/utils/cachedSession.ts +68 -0
  420. package/src/providers/personalize/utils/constants.ts +12 -0
  421. package/src/providers/personalize/utils/getEventBuffer.ts +135 -0
  422. package/src/providers/personalize/utils/index.ts +11 -0
  423. package/src/providers/personalize/utils/resolveConfig.ts +46 -0
  424. package/src/providers/pinpoint/apis/configureAutoTrack.ts +54 -0
  425. package/src/providers/pinpoint/apis/flushEvents.ts +42 -0
  426. package/src/providers/pinpoint/apis/identifyUser.ts +81 -0
  427. package/src/providers/pinpoint/apis/index.ts +7 -0
  428. package/src/providers/pinpoint/apis/record.ts +92 -0
  429. package/src/providers/pinpoint/index.ts +9 -0
  430. package/src/providers/pinpoint/types/index.ts +9 -0
  431. package/src/providers/pinpoint/types/inputs.ts +26 -0
  432. package/src/providers/pinpoint/types/options.ts +12 -0
  433. package/src/providers/pinpoint/utils/index.ts +5 -0
  434. package/src/providers/pinpoint/utils/resolveConfig.ts +21 -0
  435. package/src/providers/pinpoint/utils/resolveCredentials.ts +22 -0
  436. package/src/trackers/EventTracker.ts +136 -0
  437. package/src/trackers/PageViewTracker.ts +155 -0
  438. package/src/trackers/SessionTracker.native.ts +106 -0
  439. package/src/trackers/SessionTracker.ts +106 -0
  440. package/src/trackers/index.ts +6 -0
  441. package/src/types/index.ts +11 -0
  442. package/src/types/inputs.ts +53 -0
  443. package/src/types/kinesis.ts +13 -0
  444. package/src/types/options.ts +7 -0
  445. package/src/types/trackers.ts +35 -0
  446. package/src/utils/eventBuffer/EventBuffer.ts +85 -0
  447. package/src/utils/eventBuffer/index.ts +5 -0
  448. package/src/utils/eventBuffer/types.ts +10 -0
  449. package/src/utils/groupBy.ts +16 -0
  450. package/src/utils/index.ts +21 -0
  451. package/src/utils/resolveCredentials.ts +16 -0
  452. package/src/utils/statusHelpers.ts +17 -0
  453. package/src/utils/trackerConfigHelpers.native.ts +18 -0
  454. package/src/utils/trackerConfigHelpers.ts +19 -0
  455. package/src/utils/trackerHelpers.ts +56 -0
  456. package/src/utils/userAgent.ts +23 -0
@@ -0,0 +1,43 @@
1
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
2
+ import { ConsoleLogger } from '@aws-amplify/core';
3
+ import { getEventBuffer } from '../utils/getEventBuffer.mjs';
4
+ import { resolveConfig } from '../utils/resolveConfig.mjs';
5
+ import { resolveCredentials } from '../../../utils/resolveCredentials.mjs';
6
+ import '../../../utils/eventBuffer/EventBuffer.mjs';
7
+ import { getAnalyticsUserAgentString } from '../../../utils/userAgent.mjs';
8
+ import '../../../trackers/EventTracker.mjs';
9
+ import '../../../trackers/PageViewTracker.mjs';
10
+ import '../../../trackers/SessionTracker.mjs';
11
+ import '../../../errors/validation.mjs';
12
+
13
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
14
+ // SPDX-License-Identifier: Apache-2.0
15
+ const logger = new ConsoleLogger('KinesisFirehose');
16
+ /**
17
+ * Flushes all buffered Kinesis events to the service.
18
+ *
19
+ * @note
20
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
21
+ * this API may not be included in the flush.
22
+ */
23
+ const flushEvents = () => {
24
+ const { region, flushSize, flushInterval, bufferSize, resendLimit } = resolveConfig();
25
+ resolveCredentials()
26
+ .then(({ credentials, identityId }) => getEventBuffer({
27
+ region,
28
+ flushSize,
29
+ flushInterval,
30
+ bufferSize,
31
+ credentials,
32
+ identityId,
33
+ resendLimit,
34
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
35
+ }))
36
+ .then(eventBuffer => eventBuffer.flushAll())
37
+ .catch(e => {
38
+ logger.warn('Failed to flush events.', e);
39
+ });
40
+ };
41
+
42
+ export { flushEvents };
43
+ //# sourceMappingURL=flushEvents.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flushEvents.mjs","sources":["../../../../../src/providers/kinesis-firehose/apis/flushEvents.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getEventBuffer, resolveConfig } from '../utils';\nimport { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';\nconst logger = new ConsoleLogger('KinesisFirehose');\n/**\n * Flushes all buffered Kinesis events to the service.\n *\n * @note\n * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking\n * this API may not be included in the flush.\n */\nexport const flushEvents = () => {\n const { region, flushSize, flushInterval, bufferSize, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => getEventBuffer({\n region,\n flushSize,\n flushInterval,\n bufferSize,\n credentials,\n identityId,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n }))\n .then(eventBuffer => eventBuffer.flushAll())\n .catch(e => {\n logger.warn('Failed to flush events.', e);\n });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAKA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,MAAM;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE;AACzF,IAAI,kBAAkB;AACtB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,cAAc,CAAC;AAC9D,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC3E,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE;AACnD,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;AACjD,IAAI,CAAC,CAAC;AACN;;;;"}
@@ -0,0 +1,2 @@
1
+ export { record } from './record';
2
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,3 @@
1
+ export { record } from './record.mjs';
2
+ export { flushEvents } from './flushEvents.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,19 @@
1
+ import { RecordInput } from '../types';
2
+ /**
3
+ * Record one analytic event and send it to Kinesis Data Firehose. Events will be buffered and periodically sent to
4
+ * Kinesis Data Firehose.
5
+ *
6
+ * @param params The input object used to construct the request.
7
+ *
8
+ * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library
9
+ * configuration is incorrect.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * record({
14
+ * streamName: 'myFirehoseStream',
15
+ * data: { } // The data blob to put into the record
16
+ * });
17
+ * ```
18
+ */
19
+ export declare const record: ({ streamName, data }: RecordInput) => void;
@@ -0,0 +1,68 @@
1
+ import { fromUtf8 } from '@smithy/util-utf8';
2
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
3
+ import { ConsoleLogger } from '@aws-amplify/core';
4
+ import { getEventBuffer } from '../utils/getEventBuffer.mjs';
5
+ import { resolveConfig } from '../utils/resolveConfig.mjs';
6
+ import { resolveCredentials } from '../../../utils/resolveCredentials.mjs';
7
+ import '../../../utils/eventBuffer/EventBuffer.mjs';
8
+ import { isAnalyticsEnabled } from '../../../utils/statusHelpers.mjs';
9
+ import { getAnalyticsUserAgentString } from '../../../utils/userAgent.mjs';
10
+ import '../../../trackers/EventTracker.mjs';
11
+ import '../../../trackers/PageViewTracker.mjs';
12
+ import '../../../trackers/SessionTracker.mjs';
13
+ import '../../../errors/validation.mjs';
14
+
15
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
16
+ // SPDX-License-Identifier: Apache-2.0
17
+ const logger = new ConsoleLogger('KinesisFirehose');
18
+ /**
19
+ * Record one analytic event and send it to Kinesis Data Firehose. Events will be buffered and periodically sent to
20
+ * Kinesis Data Firehose.
21
+ *
22
+ * @param params The input object used to construct the request.
23
+ *
24
+ * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library
25
+ * configuration is incorrect.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * record({
30
+ * streamName: 'myFirehoseStream',
31
+ * data: { } // The data blob to put into the record
32
+ * });
33
+ * ```
34
+ */
35
+ const record = ({ streamName, data }) => {
36
+ if (!isAnalyticsEnabled()) {
37
+ logger.debug('Analytics is disabled, event will not be recorded.');
38
+ return;
39
+ }
40
+ const timestamp = Date.now();
41
+ const { region, bufferSize, flushSize, flushInterval, resendLimit } = resolveConfig();
42
+ resolveCredentials()
43
+ .then(({ credentials, identityId }) => {
44
+ const buffer = getEventBuffer({
45
+ region,
46
+ credentials,
47
+ identityId,
48
+ bufferSize,
49
+ flushSize,
50
+ flushInterval,
51
+ resendLimit,
52
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
53
+ });
54
+ buffer.append({
55
+ region,
56
+ streamName,
57
+ event: ArrayBuffer.isView(data) ? data : fromUtf8(JSON.stringify(data)),
58
+ timestamp,
59
+ retryCount: 0,
60
+ });
61
+ })
62
+ .catch(e => {
63
+ logger.warn('Failed to record event.', e);
64
+ });
65
+ };
66
+
67
+ export { record };
68
+ //# sourceMappingURL=record.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.mjs","sources":["../../../../../src/providers/kinesis-firehose/apis/record.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromUtf8 } from '@smithy/util-utf8';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getEventBuffer, resolveConfig } from '../utils';\nimport { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';\nconst logger = new ConsoleLogger('KinesisFirehose');\n/**\n * Record one analytic event and send it to Kinesis Data Firehose. Events will be buffered and periodically sent to\n * Kinesis Data Firehose.\n *\n * @param params The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * record({\n * streamName: 'myFirehoseStream',\n * data: { } // The data blob to put into the record\n * });\n * ```\n */\nexport const record = ({ streamName, data }) => {\n if (!isAnalyticsEnabled()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n const timestamp = Date.now();\n const { region, bufferSize, flushSize, flushInterval, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => {\n const buffer = getEventBuffer({\n region,\n credentials,\n identityId,\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n });\n buffer.append({\n region,\n streamName,\n event: ArrayBuffer.isView(data) ? data : fromUtf8(JSON.stringify(data)),\n timestamp,\n retryCount: 0,\n });\n })\n .catch(e => {\n logger.warn('Failed to record event.', e);\n });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;AAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC/B,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC;AAC1E,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;AAChC,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE;AACzF,IAAI,kBAAkB;AACtB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AAC/C,QAAQ,MAAM,MAAM,GAAG,cAAc,CAAC;AACtC,YAAY,MAAM;AAClB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,UAAU;AACtB,YAAY,SAAS;AACrB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC/E,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM,CAAC;AACtB,YAAY,MAAM;AAClB,YAAY,UAAU;AACtB,YAAY,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACnF,YAAY,SAAS;AACrB,YAAY,UAAU,EAAE,CAAC;AACzB,SAAS,CAAC;AACV,IAAI,CAAC;AACL,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;AACjD,IAAI,CAAC,CAAC;AACN;;;;"}
@@ -0,0 +1 @@
1
+ export { record, flushEvents } from './apis';
@@ -0,0 +1,3 @@
1
+ export { record } from './apis/record.mjs';
2
+ export { flushEvents } from './apis/flushEvents.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,15 @@
1
+ import { AWSCredentials } from '@aws-amplify/core/internals/utils';
2
+ import { EventBufferConfig } from '../../../utils';
3
+ import { KinesisStream } from '../../../types';
4
+ export type KinesisFirehoseBufferEvent = KinesisStream & {
5
+ event: Uint8Array;
6
+ retryCount: number;
7
+ timestamp: number;
8
+ };
9
+ export type KinesisFirehoseEventBufferConfig = EventBufferConfig & {
10
+ region: string;
11
+ credentials: AWSCredentials;
12
+ identityId?: string;
13
+ resendLimit?: number;
14
+ userAgentValue?: string;
15
+ };
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=buffer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { RecordInput } from './inputs';
2
+ export { KinesisFirehoseBufferEvent, KinesisFirehoseEventBufferConfig, } from './buffer';
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { KinesisEventData } from '../../../types';
2
+ export interface RecordInput {
3
+ streamName: string;
4
+ data: KinesisEventData;
5
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=inputs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_KINESIS_FIREHOSE_CONFIG: {
2
+ bufferSize: number;
3
+ flushSize: number;
4
+ flushInterval: number;
5
+ resendLimit: number;
6
+ };
@@ -0,0 +1,11 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ const DEFAULT_KINESIS_FIREHOSE_CONFIG = {
4
+ bufferSize: 1000,
5
+ flushSize: 100,
6
+ flushInterval: 5000,
7
+ resendLimit: 5,
8
+ };
9
+
10
+ export { DEFAULT_KINESIS_FIREHOSE_CONFIG };
11
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../../src/providers/kinesis-firehose/utils/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const DEFAULT_KINESIS_FIREHOSE_CONFIG = {\n bufferSize: 1000,\n flushSize: 100,\n flushInterval: 5000,\n resendLimit: 5,\n};\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,+BAA+B,GAAG;AAC/C,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,WAAW,EAAE,CAAC;AAClB;;;;"}
@@ -0,0 +1,3 @@
1
+ import { EventBuffer } from '../../../utils';
2
+ import { KinesisFirehoseBufferEvent, KinesisFirehoseEventBufferConfig } from '../types';
3
+ export declare const getEventBuffer: ({ region, credentials, identityId, bufferSize, flushSize, flushInterval, resendLimit, userAgentValue, }: KinesisFirehoseEventBufferConfig) => EventBuffer<KinesisFirehoseBufferEvent>;
@@ -0,0 +1,87 @@
1
+ import { haveCredentialsChanged } from '@aws-amplify/core/internals/utils';
2
+ import { FirehoseClient, PutRecordBatchCommand } from '@aws-sdk/client-firehose';
3
+ import '@aws-amplify/core';
4
+ import '../../../errors/validation.mjs';
5
+ import { groupBy } from '../../../utils/groupBy.mjs';
6
+ import { EventBuffer } from '../../../utils/eventBuffer/EventBuffer.mjs';
7
+ import '../../../trackers/EventTracker.mjs';
8
+ import '../../../trackers/PageViewTracker.mjs';
9
+ import '../../../trackers/SessionTracker.mjs';
10
+
11
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
12
+ // SPDX-License-Identifier: Apache-2.0
13
+ /**
14
+ * These Records hold cached event buffers and AWS clients.
15
+ * The hash key is determined by the region and session,
16
+ * consisting of a combined value comprising [region, sessionToken, identityId].
17
+ *
18
+ * Only one active session should exist at any given moment.
19
+ * When a new session is initiated, the previous ones should be released.
20
+ * */
21
+ const eventBufferMap = {};
22
+ const cachedClients = {};
23
+ const createPutRecordsBatchCommand = (streamName, events) => new PutRecordBatchCommand({
24
+ DeliveryStreamName: streamName,
25
+ Records: events.map(event => ({
26
+ Data: event.event,
27
+ })),
28
+ });
29
+ const submitEvents = async (events, client, resendLimit) => {
30
+ const groupedByStreamName = Object.entries(groupBy(event => event.streamName, events));
31
+ const requests = groupedByStreamName
32
+ .map(([streamName, groupedEvents]) => createPutRecordsBatchCommand(streamName, groupedEvents))
33
+ .map(command => client.send(command));
34
+ const responses = await Promise.allSettled(requests);
35
+ const failedEvents = responses
36
+ .map((response, i) => response.status === 'rejected' ? groupedByStreamName[i][1] : [])
37
+ .flat();
38
+ return resendLimit
39
+ ? failedEvents
40
+ .filter(event => event.retryCount < resendLimit)
41
+ .map(event => ({ ...event, retryCount: event.retryCount + 1 }))
42
+ .sort((a, b) => a.timestamp - b.timestamp)
43
+ : [];
44
+ };
45
+ const getEventBuffer = ({ region, credentials, identityId, bufferSize, flushSize, flushInterval, resendLimit, userAgentValue, }) => {
46
+ const sessionIdentityKey = [region, identityId].filter(id => !!id).join('-');
47
+ const [cachedClient, cachedCredentials] = cachedClients[sessionIdentityKey] ?? [];
48
+ let credentialsHaveChanged = false;
49
+ // Check if credentials have changed for the cached client
50
+ if (cachedClient) {
51
+ credentialsHaveChanged = haveCredentialsChanged(cachedCredentials, credentials);
52
+ }
53
+ if (!eventBufferMap[sessionIdentityKey] || credentialsHaveChanged) {
54
+ const getClient = () => {
55
+ if (!cachedClient || credentialsHaveChanged) {
56
+ cachedClients[sessionIdentityKey] = [
57
+ new FirehoseClient({
58
+ region,
59
+ credentials,
60
+ customUserAgent: userAgentValue,
61
+ }),
62
+ credentials,
63
+ ];
64
+ }
65
+ const [firehoseClient] = cachedClients[sessionIdentityKey];
66
+ return events => submitEvents(events, firehoseClient, resendLimit);
67
+ };
68
+ eventBufferMap[sessionIdentityKey] =
69
+ new EventBuffer({
70
+ bufferSize,
71
+ flushSize,
72
+ flushInterval,
73
+ }, getClient);
74
+ const releaseSessionKeys = Object.keys(eventBufferMap).filter(key => key !== sessionIdentityKey);
75
+ for (const releaseSessionKey of releaseSessionKeys) {
76
+ eventBufferMap[releaseSessionKey].flushAll().finally(() => {
77
+ eventBufferMap[releaseSessionKey].release();
78
+ delete eventBufferMap[releaseSessionKey];
79
+ delete cachedClients[releaseSessionKey];
80
+ });
81
+ }
82
+ }
83
+ return eventBufferMap[sessionIdentityKey];
84
+ };
85
+
86
+ export { getEventBuffer };
87
+ //# sourceMappingURL=getEventBuffer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEventBuffer.mjs","sources":["../../../../../src/providers/kinesis-firehose/utils/getEventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { haveCredentialsChanged, } from '@aws-amplify/core/internals/utils';\nimport { FirehoseClient, PutRecordBatchCommand, } from '@aws-sdk/client-firehose';\nimport { EventBuffer, groupBy } from '../../../utils';\n/**\n * These Records hold cached event buffers and AWS clients.\n * The hash key is determined by the region and session,\n * consisting of a combined value comprising [region, sessionToken, identityId].\n *\n * Only one active session should exist at any given moment.\n * When a new session is initiated, the previous ones should be released.\n * */\nconst eventBufferMap = {};\nconst cachedClients = {};\nconst createPutRecordsBatchCommand = (streamName, events) => new PutRecordBatchCommand({\n DeliveryStreamName: streamName,\n Records: events.map(event => ({\n Data: event.event,\n })),\n});\nconst submitEvents = async (events, client, resendLimit) => {\n const groupedByStreamName = Object.entries(groupBy(event => event.streamName, events));\n const requests = groupedByStreamName\n .map(([streamName, groupedEvents]) => createPutRecordsBatchCommand(streamName, groupedEvents))\n .map(command => client.send(command));\n const responses = await Promise.allSettled(requests);\n const failedEvents = responses\n .map((response, i) => response.status === 'rejected' ? groupedByStreamName[i][1] : [])\n .flat();\n return resendLimit\n ? failedEvents\n .filter(event => event.retryCount < resendLimit)\n .map(event => ({ ...event, retryCount: event.retryCount + 1 }))\n .sort((a, b) => a.timestamp - b.timestamp)\n : [];\n};\nexport const getEventBuffer = ({ region, credentials, identityId, bufferSize, flushSize, flushInterval, resendLimit, userAgentValue, }) => {\n const sessionIdentityKey = [region, identityId].filter(id => !!id).join('-');\n const [cachedClient, cachedCredentials] = cachedClients[sessionIdentityKey] ?? [];\n let credentialsHaveChanged = false;\n // Check if credentials have changed for the cached client\n if (cachedClient) {\n credentialsHaveChanged = haveCredentialsChanged(cachedCredentials, credentials);\n }\n if (!eventBufferMap[sessionIdentityKey] || credentialsHaveChanged) {\n const getClient = () => {\n if (!cachedClient || credentialsHaveChanged) {\n cachedClients[sessionIdentityKey] = [\n new FirehoseClient({\n region,\n credentials,\n customUserAgent: userAgentValue,\n }),\n credentials,\n ];\n }\n const [firehoseClient] = cachedClients[sessionIdentityKey];\n return events => submitEvents(events, firehoseClient, resendLimit);\n };\n eventBufferMap[sessionIdentityKey] =\n new EventBuffer({\n bufferSize,\n flushSize,\n flushInterval,\n }, getClient);\n const releaseSessionKeys = Object.keys(eventBufferMap).filter(key => key !== sessionIdentityKey);\n for (const releaseSessionKey of releaseSessionKeys) {\n eventBufferMap[releaseSessionKey].flushAll().finally(() => {\n eventBufferMap[releaseSessionKey].release();\n delete eventBufferMap[releaseSessionKey];\n delete cachedClients[releaseSessionKey];\n });\n }\n }\n return eventBufferMap[sessionIdentityKey];\n};\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,GAAG,EAAE;AACzB,MAAM,aAAa,GAAG,EAAE;AACxB,MAAM,4BAA4B,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,qBAAqB,CAAC;AACvF,IAAI,kBAAkB,EAAE,UAAU;AAClC,IAAI,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK;AAClC,QAAQ,IAAI,EAAE,KAAK,CAAC,KAAK;AACzB,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,OAAO,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK;AAC5D,IAAI,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC1F,IAAI,MAAM,QAAQ,GAAG;AACrB,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,4BAA4B,CAAC,UAAU,EAAE,aAAa,CAAC;AACrG,SAAS,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,IAAI,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxD,IAAI,MAAM,YAAY,GAAG;AACzB,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,KAAK,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7F,SAAS,IAAI,EAAE;AACf,IAAI,OAAO;AACX,UAAU;AACV,aAAa,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,GAAG,WAAW;AAC3D,aAAa,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;AAC1E,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;AACrD,UAAU,EAAE;AACZ,CAAC;AACW,MAAC,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,GAAG,KAAK;AAC3I,IAAI,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAChF,IAAI,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE;AACrF,IAAI,IAAI,sBAAsB,GAAG,KAAK;AACtC;AACA,IAAI,IAAI,YAAY,EAAE;AACtB,QAAQ,sBAAsB,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,WAAW,CAAC;AACvF,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,sBAAsB,EAAE;AACvE,QAAQ,MAAM,SAAS,GAAG,MAAM;AAChC,YAAY,IAAI,CAAC,YAAY,IAAI,sBAAsB,EAAE;AACzD,gBAAgB,aAAa,CAAC,kBAAkB,CAAC,GAAG;AACpD,oBAAoB,IAAI,cAAc,CAAC;AACvC,wBAAwB,MAAM;AAC9B,wBAAwB,WAAW;AACnC,wBAAwB,eAAe,EAAE,cAAc;AACvD,qBAAqB,CAAC;AACtB,oBAAoB,WAAW;AAC/B,iBAAiB;AACjB,YAAY;AACZ,YAAY,MAAM,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;AACtE,YAAY,OAAO,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC;AAC9E,QAAQ,CAAC;AACT,QAAQ,cAAc,CAAC,kBAAkB,CAAC;AAC1C,YAAY,IAAI,WAAW,CAAC;AAC5B,gBAAgB,UAAU;AAC1B,gBAAgB,SAAS;AACzB,gBAAgB,aAAa;AAC7B,aAAa,EAAE,SAAS,CAAC;AACzB,QAAQ,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,kBAAkB,CAAC;AACxG,QAAQ,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;AAC5D,YAAY,cAAc,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM;AACvE,gBAAgB,cAAc,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;AAC3D,gBAAgB,OAAO,cAAc,CAAC,iBAAiB,CAAC;AACxD,gBAAgB,OAAO,aAAa,CAAC,iBAAiB,CAAC;AACvD,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,cAAc,CAAC,kBAAkB,CAAC;AAC7C;;;;"}
@@ -0,0 +1,2 @@
1
+ export { getEventBuffer } from './getEventBuffer';
2
+ export { resolveConfig } from './resolveConfig';
@@ -0,0 +1,3 @@
1
+ export { getEventBuffer } from './getEventBuffer.mjs';
2
+ export { resolveConfig } from './resolveConfig.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,7 @@
1
+ export declare const resolveConfig: () => {
2
+ region: string;
3
+ bufferSize: number;
4
+ flushSize: number;
5
+ flushInterval: number;
6
+ resendLimit: number;
7
+ };
@@ -0,0 +1,27 @@
1
+ import { Amplify } from '@aws-amplify/core';
2
+ import '@aws-amplify/core/internals/utils';
3
+ import { assertValidationError } from '../../../errors/assertValidationError.mjs';
4
+ import { AnalyticsValidationErrorCode } from '../../../errors/validation.mjs';
5
+ import { DEFAULT_KINESIS_FIREHOSE_CONFIG } from './constants.mjs';
6
+
7
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
+ // SPDX-License-Identifier: Apache-2.0
9
+ const resolveConfig = () => {
10
+ const config = Amplify.getConfig().Analytics?.KinesisFirehose;
11
+ const { region, bufferSize = DEFAULT_KINESIS_FIREHOSE_CONFIG.bufferSize, flushSize = DEFAULT_KINESIS_FIREHOSE_CONFIG.flushSize, flushInterval = DEFAULT_KINESIS_FIREHOSE_CONFIG.flushInterval, resendLimit, } = {
12
+ ...DEFAULT_KINESIS_FIREHOSE_CONFIG,
13
+ ...config,
14
+ };
15
+ assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);
16
+ assertValidationError(flushSize < bufferSize, AnalyticsValidationErrorCode.InvalidFlushSize);
17
+ return {
18
+ region,
19
+ bufferSize,
20
+ flushSize,
21
+ flushInterval,
22
+ resendLimit,
23
+ };
24
+ };
25
+
26
+ export { resolveConfig };
27
+ //# sourceMappingURL=resolveConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveConfig.mjs","sources":["../../../../../src/providers/kinesis-firehose/utils/resolveConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\nimport { DEFAULT_KINESIS_FIREHOSE_CONFIG } from './constants';\nexport const resolveConfig = () => {\n const config = Amplify.getConfig().Analytics?.KinesisFirehose;\n const { region, bufferSize = DEFAULT_KINESIS_FIREHOSE_CONFIG.bufferSize, flushSize = DEFAULT_KINESIS_FIREHOSE_CONFIG.flushSize, flushInterval = DEFAULT_KINESIS_FIREHOSE_CONFIG.flushInterval, resendLimit, } = {\n ...DEFAULT_KINESIS_FIREHOSE_CONFIG,\n ...config,\n };\n assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);\n assertValidationError(flushSize < bufferSize, AnalyticsValidationErrorCode.InvalidFlushSize);\n return {\n region,\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n };\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAIY,MAAC,aAAa,GAAG,MAAM;AACnC,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe;AACjE,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,+BAA+B,CAAC,UAAU,EAAE,SAAS,GAAG,+BAA+B,CAAC,SAAS,EAAE,aAAa,GAAG,+BAA+B,CAAC,aAAa,EAAE,WAAW,GAAG,GAAG;AACpN,QAAQ,GAAG,+BAA+B;AAC1C,QAAQ,GAAG,MAAM;AACjB,KAAK;AACL,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC;AAC1E,IAAI,qBAAqB,CAAC,SAAS,GAAG,UAAU,EAAE,4BAA4B,CAAC,gBAAgB,CAAC;AAChG,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,WAAW;AACnB,KAAK;AACL;;;;"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Flushes all buffered Personalize events to the service.
3
+ *
4
+ * @note
5
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
6
+ * this API may not be included in the flush.
7
+ */
8
+ export declare const flushEvents: () => void;
@@ -0,0 +1,43 @@
1
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
2
+ import { ConsoleLogger } from '@aws-amplify/core';
3
+ import { getEventBuffer } from '../utils/getEventBuffer.mjs';
4
+ import { resolveConfig } from '../utils/resolveConfig.mjs';
5
+ import '../utils/autoTrackMedia.mjs';
6
+ import { resolveCredentials } from '../../../utils/resolveCredentials.mjs';
7
+ import '../../../utils/eventBuffer/EventBuffer.mjs';
8
+ import { getAnalyticsUserAgentString } from '../../../utils/userAgent.mjs';
9
+ import '../../../trackers/EventTracker.mjs';
10
+ import '../../../trackers/PageViewTracker.mjs';
11
+ import '../../../trackers/SessionTracker.mjs';
12
+ import '../../../errors/validation.mjs';
13
+
14
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
15
+ // SPDX-License-Identifier: Apache-2.0
16
+ const logger = new ConsoleLogger('Personalize');
17
+ /**
18
+ * Flushes all buffered Personalize events to the service.
19
+ *
20
+ * @note
21
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
22
+ * this API may not be included in the flush.
23
+ */
24
+ const flushEvents = () => {
25
+ const { region, flushSize, bufferSize, flushInterval } = resolveConfig();
26
+ resolveCredentials()
27
+ .then(({ credentials, identityId }) => getEventBuffer({
28
+ region,
29
+ flushSize,
30
+ flushInterval,
31
+ bufferSize,
32
+ credentials,
33
+ identityId,
34
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
35
+ }))
36
+ .then(eventBuffer => eventBuffer.flushAll())
37
+ .catch(e => {
38
+ logger.warn('Failed to flush events', e);
39
+ });
40
+ };
41
+
42
+ export { flushEvents };
43
+ //# sourceMappingURL=flushEvents.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flushEvents.mjs","sources":["../../../../../src/providers/personalize/apis/flushEvents.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getEventBuffer, resolveConfig } from '../utils';\nimport { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';\nconst logger = new ConsoleLogger('Personalize');\n/**\n * Flushes all buffered Personalize events to the service.\n *\n * @note\n * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking\n * this API may not be included in the flush.\n */\nexport const flushEvents = () => {\n const { region, flushSize, bufferSize, flushInterval } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => getEventBuffer({\n region,\n flushSize,\n flushInterval,\n bufferSize,\n credentials,\n identityId,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n }))\n .then(eventBuffer => eventBuffer.flushAll())\n .catch(e => {\n logger.warn('Failed to flush events', e);\n });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;AACA;AAKA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,MAAM;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE;AAC5E,IAAI,kBAAkB;AACtB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,cAAc,CAAC;AAC9D,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC3E,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE;AACnD,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB,QAAQ,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAChD,IAAI,CAAC,CAAC;AACN;;;;"}
@@ -0,0 +1,2 @@
1
+ export { record } from './record';
2
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,3 @@
1
+ export { record } from './record.mjs';
2
+ export { flushEvents } from './flushEvents.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,27 @@
1
+ import { RecordInput } from '../types';
2
+ /**
3
+ * Record one analytic event and send it to Personalize. Events will be buffered and periodically sent to Amazon
4
+ * Personalize.
5
+ *
6
+ * For more examples, you can refer to {@link https://docs.amplify.aws/javascript/build-a-backend/more-features/analytics/personalize-recommendations/#working-with-the-api the API usage guidance.}
7
+ *
8
+ * @param input The input object used to construct the request.
9
+ *
10
+ * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library
11
+ * configuration is incorrect.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * // Record an `Identify` event to Personalize.
16
+ * record({
17
+ * eventType: "Identify",
18
+ * properties: {
19
+ * userId: "<USER_ID>"
20
+ * }
21
+ * });
22
+ * ```
23
+ * @param input - The event to record.
24
+ *
25
+ * @returns void
26
+ */
27
+ export declare const record: ({ userId, eventId, eventType, properties, }: RecordInput) => void;
@@ -0,0 +1,106 @@
1
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
2
+ import { ConsoleLogger } from '@aws-amplify/core';
3
+ import { getEventBuffer } from '../utils/getEventBuffer.mjs';
4
+ import { resolveConfig } from '../utils/resolveConfig.mjs';
5
+ import { autoTrackMedia } from '../utils/autoTrackMedia.mjs';
6
+ import { resolveCachedSession, updateCachedSession } from '../utils/cachedSession.mjs';
7
+ import { IDENTIFY_EVENT_TYPE, MEDIA_AUTO_TRACK_EVENT_TYPE } from '../utils/constants.mjs';
8
+ import { resolveCredentials } from '../../../utils/resolveCredentials.mjs';
9
+ import '../../../utils/eventBuffer/EventBuffer.mjs';
10
+ import { isAnalyticsEnabled } from '../../../utils/statusHelpers.mjs';
11
+ import { getAnalyticsUserAgentString } from '../../../utils/userAgent.mjs';
12
+ import '../../../trackers/EventTracker.mjs';
13
+ import '../../../trackers/PageViewTracker.mjs';
14
+ import '../../../trackers/SessionTracker.mjs';
15
+ import '../../../errors/validation.mjs';
16
+
17
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
18
+ // SPDX-License-Identifier: Apache-2.0
19
+ const logger = new ConsoleLogger('Personalize');
20
+ /**
21
+ * Record one analytic event and send it to Personalize. Events will be buffered and periodically sent to Amazon
22
+ * Personalize.
23
+ *
24
+ * For more examples, you can refer to {@link https://docs.amplify.aws/javascript/build-a-backend/more-features/analytics/personalize-recommendations/#working-with-the-api the API usage guidance.}
25
+ *
26
+ * @param input The input object used to construct the request.
27
+ *
28
+ * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library
29
+ * configuration is incorrect.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * // Record an `Identify` event to Personalize.
34
+ * record({
35
+ * eventType: "Identify",
36
+ * properties: {
37
+ * userId: "<USER_ID>"
38
+ * }
39
+ * });
40
+ * ```
41
+ * @param input - The event to record.
42
+ *
43
+ * @returns void
44
+ */
45
+ const record = ({ userId, eventId, eventType, properties, }) => {
46
+ if (!isAnalyticsEnabled()) {
47
+ logger.debug('Analytics is disabled, event will not be recorded.');
48
+ return;
49
+ }
50
+ const { region, trackingId, bufferSize, flushSize, flushInterval } = resolveConfig();
51
+ resolveCredentials()
52
+ .then(async ({ credentials, identityId }) => {
53
+ const timestamp = Date.now();
54
+ const { sessionId: cachedSessionId, userId: cachedUserId } = await resolveCachedSession();
55
+ if (eventType === IDENTIFY_EVENT_TYPE) {
56
+ updateCachedSession(typeof properties.userId === 'string' ? properties.userId : '', cachedSessionId, cachedUserId);
57
+ }
58
+ else if (userId) {
59
+ updateCachedSession(userId, cachedSessionId, cachedUserId);
60
+ }
61
+ const { sessionId: updatedSessionId, userId: updatedUserId } = await resolveCachedSession();
62
+ const eventBuffer = getEventBuffer({
63
+ region,
64
+ flushSize,
65
+ flushInterval,
66
+ bufferSize,
67
+ credentials,
68
+ identityId,
69
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
70
+ });
71
+ if (eventType === MEDIA_AUTO_TRACK_EVENT_TYPE) {
72
+ autoTrackMedia({
73
+ trackingId,
74
+ sessionId: updatedSessionId,
75
+ userId: updatedUserId,
76
+ event: {
77
+ eventId,
78
+ eventType,
79
+ properties,
80
+ },
81
+ }, eventBuffer);
82
+ }
83
+ else {
84
+ eventBuffer.append({
85
+ trackingId,
86
+ sessionId: updatedSessionId,
87
+ userId: updatedUserId,
88
+ event: {
89
+ eventId,
90
+ eventType,
91
+ properties,
92
+ },
93
+ timestamp,
94
+ });
95
+ }
96
+ if (eventBuffer.length >= bufferSize) {
97
+ eventBuffer.flushAll();
98
+ }
99
+ })
100
+ .catch(e => {
101
+ logger.warn('Failed to record event.', e);
102
+ });
103
+ };
104
+
105
+ export { record };
106
+ //# sourceMappingURL=record.mjs.map