@aws-amplify/analytics 7.0.1-preview-testing.034e780.0 → 7.0.1-server-generate-client.1e317a1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/kinesis/package.json +7 -0
  2. package/kinesis-firehose/package.json +7 -0
  3. package/lib/apis/disable.d.ts +8 -0
  4. package/lib/apis/disable.js +14 -0
  5. package/lib/apis/enable.d.ts +7 -0
  6. package/lib/apis/enable.js +13 -0
  7. package/lib/apis/index.d.ts +2 -0
  8. package/lib/apis/index.js +9 -0
  9. package/lib/errors/AnalyticsError.d.ts +2 -2
  10. package/lib/errors/assertValidationError.d.ts +1 -1
  11. package/lib/errors/assertValidationError.js +7 -3
  12. package/lib/errors/validation.d.ts +5 -2
  13. package/lib/errors/validation.js +16 -4
  14. package/lib/index.d.ts +2 -1
  15. package/lib/index.js +6 -1
  16. package/lib/providers/kinesis/apis/flushEvents.d.ts +8 -0
  17. package/lib/providers/kinesis/apis/flushEvents.js +38 -0
  18. package/lib/providers/kinesis/apis/index.d.ts +2 -0
  19. package/lib/providers/kinesis/apis/index.js +9 -0
  20. package/lib/providers/kinesis/apis/record.d.ts +2 -0
  21. package/lib/providers/kinesis/apis/record.js +48 -0
  22. package/lib/providers/kinesis/index.d.ts +1 -0
  23. package/lib/providers/kinesis/index.js +8 -0
  24. package/lib/providers/kinesis/types/buffer.d.ts +15 -0
  25. package/lib/providers/kinesis/types/buffer.js +4 -0
  26. package/lib/providers/kinesis/types/index.d.ts +2 -0
  27. package/lib/providers/kinesis/types/index.js +4 -0
  28. package/lib/providers/kinesis/types/inputs.d.ts +6 -0
  29. package/lib/providers/kinesis/types/inputs.js +4 -0
  30. package/lib/providers/kinesis/utils/constants.d.ts +6 -0
  31. package/lib/providers/kinesis/utils/constants.js +11 -0
  32. package/lib/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  33. package/lib/providers/kinesis/utils/getEventBuffer.js +103 -0
  34. package/lib/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  35. package/lib/providers/kinesis/utils/resolveConfig.js +24 -0
  36. package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  37. package/lib/providers/kinesis-firehose/apis/flushEvents.js +37 -0
  38. package/lib/providers/kinesis-firehose/apis/index.d.ts +2 -0
  39. package/lib/providers/kinesis-firehose/apis/index.js +9 -0
  40. package/lib/providers/kinesis-firehose/apis/record.d.ts +2 -0
  41. package/lib/providers/kinesis-firehose/apis/record.js +45 -0
  42. package/lib/providers/kinesis-firehose/index.d.ts +1 -0
  43. package/lib/providers/kinesis-firehose/index.js +8 -0
  44. package/lib/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  45. package/lib/providers/kinesis-firehose/types/index.d.ts +2 -0
  46. package/lib/providers/kinesis-firehose/types/index.js +4 -0
  47. package/lib/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  48. package/lib/providers/kinesis-firehose/types/inputs.js +4 -0
  49. package/lib/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  50. package/lib/providers/kinesis-firehose/utils/constants.js +11 -0
  51. package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  52. package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +100 -0
  53. package/lib/providers/kinesis-firehose/utils/index.d.ts +2 -0
  54. package/lib/providers/kinesis-firehose/utils/index.js +9 -0
  55. package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  56. package/lib/providers/kinesis-firehose/utils/resolveConfig.js +24 -0
  57. package/lib/providers/personalize/apis/flushEvents.d.ts +8 -0
  58. package/lib/providers/personalize/apis/flushEvents.js +36 -0
  59. package/lib/providers/personalize/apis/index.d.ts +2 -0
  60. package/lib/providers/personalize/apis/index.js +9 -0
  61. package/lib/providers/personalize/apis/record.d.ts +2 -0
  62. package/lib/providers/personalize/apis/record.js +87 -0
  63. package/lib/providers/personalize/index.d.ts +1 -0
  64. package/lib/providers/personalize/index.js +8 -0
  65. package/lib/providers/personalize/types/buffer.d.ts +16 -0
  66. package/lib/providers/personalize/types/buffer.js +4 -0
  67. package/lib/providers/personalize/types/index.d.ts +2 -0
  68. package/lib/providers/personalize/types/index.js +4 -0
  69. package/lib/providers/personalize/types/inputs.d.ts +7 -0
  70. package/lib/providers/personalize/types/inputs.js +4 -0
  71. package/lib/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  72. package/lib/providers/personalize/utils/autoTrackMedia.js +183 -0
  73. package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
  74. package/lib/providers/personalize/utils/cachedSession.js +61 -0
  75. package/lib/providers/personalize/utils/constants.d.ts +7 -0
  76. package/lib/providers/personalize/utils/constants.js +12 -0
  77. package/lib/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  78. package/lib/providers/personalize/utils/getEventBuffer.js +100 -0
  79. package/lib/providers/personalize/utils/index.d.ts +5 -0
  80. package/lib/providers/personalize/utils/index.js +17 -0
  81. package/lib/providers/personalize/utils/resolveConfig.d.ts +7 -0
  82. package/lib/providers/personalize/utils/resolveConfig.js +25 -0
  83. package/lib/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
  84. package/lib/providers/pinpoint/apis/configureAutoTrack.js +35 -0
  85. package/lib/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  86. package/lib/providers/pinpoint/apis/flushEvents.js +28 -0
  87. package/lib/providers/pinpoint/apis/identifyUser.d.ts +7 -5
  88. package/lib/providers/pinpoint/apis/identifyUser.js +15 -11
  89. package/lib/providers/pinpoint/apis/index.d.ts +2 -0
  90. package/lib/providers/pinpoint/apis/index.js +5 -1
  91. package/lib/providers/pinpoint/apis/record.d.ts +8 -14
  92. package/lib/providers/pinpoint/apis/record.js +22 -24
  93. package/lib/providers/pinpoint/index.d.ts +2 -2
  94. package/lib/providers/pinpoint/index.js +3 -1
  95. package/lib/providers/pinpoint/types/index.d.ts +2 -2
  96. package/lib/providers/pinpoint/types/index.js +0 -3
  97. package/lib/providers/pinpoint/types/inputs.d.ts +8 -17
  98. package/lib/providers/pinpoint/types/options.d.ts +5 -0
  99. package/lib/providers/pinpoint/types/options.js +4 -0
  100. package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
  101. package/lib/trackers/EventTracker.d.ts +10 -0
  102. package/lib/trackers/EventTracker.js +104 -0
  103. package/lib/trackers/PageViewTracker.d.ts +18 -0
  104. package/lib/trackers/PageViewTracker.js +116 -0
  105. package/lib/trackers/SessionTracker.d.ts +13 -0
  106. package/lib/trackers/SessionTracker.js +73 -0
  107. package/lib/trackers/SessionTracker.native.d.ts +13 -0
  108. package/lib/trackers/SessionTracker.native.js +73 -0
  109. package/lib/trackers/index.d.ts +3 -0
  110. package/lib/trackers/index.js +11 -0
  111. package/lib/tsconfig.tsbuildinfo +1 -1
  112. package/lib/types/index.d.ts +3 -1
  113. package/lib/types/index.js +0 -2
  114. package/lib/types/inputs.d.ts +35 -0
  115. package/lib/types/inputs.js +4 -0
  116. package/lib/types/kinesis.d.ts +8 -0
  117. package/lib/types/kinesis.js +4 -0
  118. package/lib/types/options.d.ts +4 -0
  119. package/lib/types/options.js +4 -0
  120. package/lib/types/trackers.d.ts +22 -0
  121. package/lib/types/trackers.js +4 -0
  122. package/lib/utils/eventBuffer/EventBuffer.d.ts +16 -0
  123. package/lib/utils/eventBuffer/EventBuffer.js +91 -0
  124. package/lib/utils/eventBuffer/index.d.ts +2 -0
  125. package/lib/utils/eventBuffer/index.js +7 -0
  126. package/lib/utils/eventBuffer/types.d.ts +8 -0
  127. package/lib/utils/eventBuffer/types.js +4 -0
  128. package/lib/utils/groupBy.d.ts +1 -0
  129. package/lib/utils/groupBy.js +15 -0
  130. package/lib/utils/index.d.ts +7 -0
  131. package/lib/utils/index.js +22 -0
  132. package/lib/utils/resolveCredentials.d.ts +4 -0
  133. package/lib/utils/resolveCredentials.js +21 -0
  134. package/lib/utils/statusHelpers.d.ts +6 -0
  135. package/lib/utils/statusHelpers.js +19 -0
  136. package/lib/utils/trackerConfigHelpers.d.ts +5 -0
  137. package/lib/utils/trackerConfigHelpers.js +15 -0
  138. package/lib/utils/trackerConfigHelpers.native.d.ts +5 -0
  139. package/lib/utils/trackerConfigHelpers.native.js +14 -0
  140. package/lib/utils/trackerHelpers.d.ts +9 -0
  141. package/lib/utils/trackerHelpers.js +44 -0
  142. package/lib-esm/apis/disable.d.ts +8 -0
  143. package/lib-esm/apis/disable.js +11 -0
  144. package/lib-esm/apis/enable.d.ts +7 -0
  145. package/lib-esm/apis/enable.js +10 -0
  146. package/lib-esm/apis/index.d.ts +2 -0
  147. package/lib-esm/apis/index.js +4 -0
  148. package/lib-esm/errors/AnalyticsError.d.ts +2 -2
  149. package/lib-esm/errors/AnalyticsError.js +1 -1
  150. package/lib-esm/errors/assertValidationError.d.ts +1 -1
  151. package/lib-esm/errors/assertValidationError.js +7 -3
  152. package/lib-esm/errors/validation.d.ts +5 -2
  153. package/lib-esm/errors/validation.js +16 -4
  154. package/lib-esm/index.d.ts +2 -1
  155. package/lib-esm/index.js +2 -1
  156. package/lib-esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
  157. package/lib-esm/providers/kinesis/apis/flushEvents.js +34 -0
  158. package/lib-esm/providers/kinesis/apis/index.d.ts +2 -0
  159. package/lib-esm/providers/kinesis/apis/index.js +4 -0
  160. package/lib-esm/providers/kinesis/apis/record.d.ts +2 -0
  161. package/lib-esm/providers/kinesis/apis/record.js +44 -0
  162. package/lib-esm/providers/kinesis/index.d.ts +1 -0
  163. package/lib-esm/providers/kinesis/index.js +3 -0
  164. package/lib-esm/providers/kinesis/types/buffer.d.ts +15 -0
  165. package/lib-esm/providers/kinesis/types/buffer.js +3 -0
  166. package/lib-esm/providers/kinesis/types/index.d.ts +2 -0
  167. package/lib-esm/providers/kinesis/types/index.js +3 -0
  168. package/lib-esm/providers/kinesis/types/inputs.d.ts +6 -0
  169. package/lib-esm/providers/kinesis/types/inputs.js +3 -0
  170. package/lib-esm/providers/kinesis/utils/constants.d.ts +6 -0
  171. package/lib-esm/providers/kinesis/utils/constants.js +8 -0
  172. package/lib-esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  173. package/lib-esm/providers/kinesis/utils/getEventBuffer.js +99 -0
  174. package/lib-esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  175. package/lib-esm/providers/kinesis/utils/resolveConfig.js +20 -0
  176. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  177. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +33 -0
  178. package/lib-esm/providers/kinesis-firehose/apis/index.d.ts +2 -0
  179. package/lib-esm/providers/kinesis-firehose/apis/index.js +4 -0
  180. package/lib-esm/providers/kinesis-firehose/apis/record.d.ts +2 -0
  181. package/lib-esm/providers/kinesis-firehose/apis/record.js +41 -0
  182. package/lib-esm/providers/kinesis-firehose/index.d.ts +1 -0
  183. package/lib-esm/providers/kinesis-firehose/index.js +3 -0
  184. package/lib-esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  185. package/lib-esm/providers/kinesis-firehose/types/index.d.ts +2 -0
  186. package/lib-esm/providers/kinesis-firehose/types/index.js +3 -0
  187. package/lib-esm/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  188. package/lib-esm/providers/kinesis-firehose/types/inputs.js +3 -0
  189. package/lib-esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  190. package/lib-esm/providers/kinesis-firehose/utils/constants.js +8 -0
  191. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  192. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +96 -0
  193. package/lib-esm/providers/kinesis-firehose/utils/index.d.ts +2 -0
  194. package/lib-esm/providers/kinesis-firehose/utils/index.js +4 -0
  195. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  196. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +20 -0
  197. package/lib-esm/providers/personalize/apis/flushEvents.d.ts +8 -0
  198. package/lib-esm/providers/personalize/apis/flushEvents.js +32 -0
  199. package/lib-esm/providers/personalize/apis/index.d.ts +2 -0
  200. package/lib-esm/providers/personalize/apis/index.js +4 -0
  201. package/lib-esm/providers/personalize/apis/record.d.ts +2 -0
  202. package/lib-esm/providers/personalize/apis/record.js +83 -0
  203. package/lib-esm/providers/personalize/index.d.ts +1 -0
  204. package/lib-esm/providers/personalize/index.js +3 -0
  205. package/lib-esm/providers/personalize/types/buffer.d.ts +16 -0
  206. package/lib-esm/providers/personalize/types/buffer.js +3 -0
  207. package/lib-esm/providers/personalize/types/index.d.ts +2 -0
  208. package/lib-esm/providers/personalize/types/index.js +3 -0
  209. package/lib-esm/providers/personalize/types/inputs.d.ts +7 -0
  210. package/lib-esm/providers/personalize/types/inputs.js +3 -0
  211. package/lib-esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  212. package/lib-esm/providers/personalize/utils/autoTrackMedia.js +179 -0
  213. package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
  214. package/lib-esm/providers/personalize/utils/cachedSession.js +56 -0
  215. package/lib-esm/providers/personalize/utils/constants.d.ts +7 -0
  216. package/lib-esm/providers/personalize/utils/constants.js +9 -0
  217. package/lib-esm/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  218. package/lib-esm/providers/personalize/utils/getEventBuffer.js +96 -0
  219. package/lib-esm/providers/personalize/utils/index.d.ts +5 -0
  220. package/lib-esm/providers/personalize/utils/index.js +7 -0
  221. package/lib-esm/providers/personalize/utils/resolveConfig.d.ts +7 -0
  222. package/lib-esm/providers/personalize/utils/resolveConfig.js +21 -0
  223. package/lib-esm/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
  224. package/lib-esm/providers/pinpoint/apis/configureAutoTrack.js +31 -0
  225. package/lib-esm/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  226. package/lib-esm/providers/pinpoint/apis/flushEvents.js +24 -0
  227. package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +7 -5
  228. package/lib-esm/providers/pinpoint/apis/identifyUser.js +13 -9
  229. package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
  230. package/lib-esm/providers/pinpoint/apis/index.js +2 -0
  231. package/lib-esm/providers/pinpoint/apis/record.d.ts +8 -14
  232. package/lib-esm/providers/pinpoint/apis/record.js +20 -22
  233. package/lib-esm/providers/pinpoint/index.d.ts +2 -2
  234. package/lib-esm/providers/pinpoint/index.js +1 -1
  235. package/lib-esm/providers/pinpoint/types/index.d.ts +2 -2
  236. package/lib-esm/providers/pinpoint/types/index.js +1 -1
  237. package/lib-esm/providers/pinpoint/types/inputs.d.ts +8 -17
  238. package/lib-esm/providers/pinpoint/types/options.d.ts +5 -0
  239. package/lib-esm/providers/pinpoint/types/options.js +3 -0
  240. package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
  241. package/lib-esm/trackers/EventTracker.d.ts +10 -0
  242. package/lib-esm/trackers/EventTracker.js +101 -0
  243. package/lib-esm/trackers/PageViewTracker.d.ts +18 -0
  244. package/lib-esm/trackers/PageViewTracker.js +113 -0
  245. package/lib-esm/trackers/SessionTracker.d.ts +13 -0
  246. package/lib-esm/trackers/SessionTracker.js +70 -0
  247. package/lib-esm/trackers/SessionTracker.native.d.ts +13 -0
  248. package/lib-esm/trackers/SessionTracker.native.js +70 -0
  249. package/lib-esm/trackers/index.d.ts +3 -0
  250. package/lib-esm/trackers/index.js +5 -0
  251. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  252. package/lib-esm/types/index.d.ts +3 -1
  253. package/lib-esm/types/index.js +1 -1
  254. package/lib-esm/types/inputs.d.ts +35 -0
  255. package/lib-esm/types/inputs.js +3 -0
  256. package/lib-esm/types/kinesis.d.ts +8 -0
  257. package/lib-esm/types/kinesis.js +3 -0
  258. package/lib-esm/types/options.d.ts +4 -0
  259. package/lib-esm/types/options.js +3 -0
  260. package/lib-esm/types/trackers.d.ts +22 -0
  261. package/lib-esm/types/trackers.js +3 -0
  262. package/lib-esm/utils/eventBuffer/EventBuffer.d.ts +16 -0
  263. package/lib-esm/utils/eventBuffer/EventBuffer.js +88 -0
  264. package/lib-esm/utils/eventBuffer/index.d.ts +2 -0
  265. package/lib-esm/utils/eventBuffer/index.js +3 -0
  266. package/lib-esm/utils/eventBuffer/types.d.ts +8 -0
  267. package/lib-esm/utils/eventBuffer/types.js +3 -0
  268. package/lib-esm/utils/groupBy.d.ts +1 -0
  269. package/lib-esm/utils/groupBy.js +11 -0
  270. package/lib-esm/utils/index.d.ts +7 -0
  271. package/lib-esm/utils/index.js +9 -0
  272. package/lib-esm/utils/resolveCredentials.d.ts +4 -0
  273. package/lib-esm/utils/resolveCredentials.js +17 -0
  274. package/lib-esm/utils/statusHelpers.d.ts +6 -0
  275. package/lib-esm/utils/statusHelpers.js +13 -0
  276. package/lib-esm/utils/trackerConfigHelpers.d.ts +5 -0
  277. package/lib-esm/utils/trackerConfigHelpers.js +11 -0
  278. package/lib-esm/utils/trackerConfigHelpers.native.d.ts +5 -0
  279. package/lib-esm/utils/trackerConfigHelpers.native.js +10 -0
  280. package/lib-esm/utils/trackerHelpers.d.ts +9 -0
  281. package/lib-esm/utils/trackerHelpers.js +40 -0
  282. package/package.json +39 -9
  283. package/personalize/package.json +7 -0
  284. package/src/apis/disable.ts +13 -0
  285. package/src/apis/enable.ts +12 -0
  286. package/src/apis/index.ts +5 -0
  287. package/src/errors/AnalyticsError.ts +5 -2
  288. package/src/errors/assertValidationError.ts +9 -3
  289. package/src/errors/validation.ts +16 -4
  290. package/src/index.ts +4 -0
  291. package/src/providers/kinesis/apis/flushEvents.ts +40 -0
  292. package/src/providers/kinesis/apis/index.ts +5 -0
  293. package/src/providers/kinesis/apis/record.ts +58 -0
  294. package/src/providers/kinesis/index.ts +4 -0
  295. package/src/providers/kinesis/types/buffer.ts +20 -0
  296. package/src/providers/kinesis/types/index.ts +5 -0
  297. package/src/providers/kinesis/types/inputs.ts +10 -0
  298. package/src/providers/kinesis/utils/constants.ts +9 -0
  299. package/src/providers/kinesis/utils/getEventBuffer.ts +110 -0
  300. package/src/providers/kinesis/utils/resolveConfig.ts +36 -0
  301. package/src/providers/kinesis-firehose/apis/flushEvents.ts +39 -0
  302. package/src/providers/kinesis-firehose/apis/index.ts +5 -0
  303. package/src/providers/kinesis-firehose/apis/record.ts +51 -0
  304. package/src/providers/kinesis-firehose/index.ts +4 -0
  305. package/src/providers/kinesis-firehose/types/buffer.ts +20 -0
  306. package/src/providers/kinesis-firehose/types/index.ts +9 -0
  307. package/src/providers/kinesis-firehose/types/inputs.ts +9 -0
  308. package/src/providers/kinesis-firehose/utils/constants.ts +9 -0
  309. package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +118 -0
  310. package/src/providers/kinesis-firehose/utils/index.ts +5 -0
  311. package/src/providers/kinesis-firehose/utils/resolveConfig.ts +36 -0
  312. package/src/providers/personalize/apis/flushEvents.ts +37 -0
  313. package/src/providers/personalize/apis/index.ts +5 -0
  314. package/src/providers/personalize/apis/record.ts +102 -0
  315. package/src/providers/personalize/index.ts +4 -0
  316. package/src/providers/personalize/types/buffer.ts +21 -0
  317. package/src/providers/personalize/types/index.ts +5 -0
  318. package/src/providers/personalize/types/inputs.ts +11 -0
  319. package/src/providers/personalize/utils/autoTrackMedia.ts +232 -0
  320. package/src/providers/personalize/utils/cachedSession.ts +68 -0
  321. package/src/providers/personalize/utils/constants.ts +12 -0
  322. package/src/providers/personalize/utils/getEventBuffer.ts +111 -0
  323. package/src/providers/personalize/utils/index.ts +11 -0
  324. package/src/providers/personalize/utils/resolveConfig.ts +41 -0
  325. package/src/providers/pinpoint/apis/configureAutoTrack.ts +49 -0
  326. package/src/providers/pinpoint/apis/flushEvents.ts +32 -0
  327. package/src/providers/pinpoint/apis/identifyUser.ts +20 -12
  328. package/src/providers/pinpoint/apis/index.ts +2 -0
  329. package/src/providers/pinpoint/apis/record.ts +31 -23
  330. package/src/providers/pinpoint/index.ts +6 -2
  331. package/src/providers/pinpoint/types/index.ts +6 -2
  332. package/src/providers/pinpoint/types/inputs.ts +11 -17
  333. package/src/providers/pinpoint/types/options.ts +12 -0
  334. package/src/trackers/EventTracker.ts +135 -0
  335. package/src/trackers/PageViewTracker.ts +160 -0
  336. package/src/trackers/SessionTracker.native.ts +106 -0
  337. package/src/trackers/SessionTracker.ts +106 -0
  338. package/src/trackers/index.ts +6 -0
  339. package/src/types/index.ts +8 -1
  340. package/src/types/inputs.ts +52 -0
  341. package/src/types/kinesis.ts +13 -0
  342. package/src/types/options.ts +7 -0
  343. package/src/types/trackers.ts +35 -0
  344. package/src/utils/eventBuffer/EventBuffer.ts +84 -0
  345. package/src/utils/eventBuffer/index.ts +5 -0
  346. package/src/utils/eventBuffer/types.ts +12 -0
  347. package/src/utils/groupBy.ts +12 -0
  348. package/src/utils/index.ts +21 -0
  349. package/src/utils/resolveCredentials.ts +14 -0
  350. package/src/utils/statusHelpers.ts +17 -0
  351. package/src/utils/trackerConfigHelpers.native.ts +18 -0
  352. package/src/utils/trackerConfigHelpers.ts +19 -0
  353. package/src/utils/trackerHelpers.ts +57 -0
  354. package/lib/providers/pinpoint/types/errors.d.ts +0 -9
  355. package/lib/providers/pinpoint/types/errors.js +0 -15
  356. package/lib/types/analytics.d.ts +0 -50
  357. package/lib-esm/providers/pinpoint/types/errors.d.ts +0 -9
  358. package/lib-esm/providers/pinpoint/types/errors.js +0 -12
  359. package/lib-esm/types/analytics.d.ts +0 -50
  360. package/src/providers/pinpoint/types/errors.ts +0 -12
  361. package/src/types/analytics.ts +0 -70
  362. /package/lib/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
  363. /package/lib-esm/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
@@ -0,0 +1,44 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { getEventBuffer } from '../utils/getEventBuffer';
4
+ import { resolveConfig } from '../utils/resolveConfig';
5
+ import { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';
6
+ import { fromUtf8 } from '@smithy/util-utf8';
7
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
8
+ import { ConsoleLogger } from '@aws-amplify/core';
9
+ var logger = new ConsoleLogger('Kinesis');
10
+ export var record = function (_a) {
11
+ var streamName = _a.streamName, partitionKey = _a.partitionKey, data = _a.data;
12
+ if (!isAnalyticsEnabled()) {
13
+ logger.debug('Analytics is disabled, event will not be recorded.');
14
+ return;
15
+ }
16
+ var timestamp = Date.now();
17
+ var _b = resolveConfig(), region = _b.region, bufferSize = _b.bufferSize, flushSize = _b.flushSize, flushInterval = _b.flushInterval, resendLimit = _b.resendLimit;
18
+ resolveCredentials()
19
+ .then(function (_a) {
20
+ var credentials = _a.credentials, identityId = _a.identityId;
21
+ var buffer = getEventBuffer({
22
+ region: region,
23
+ bufferSize: bufferSize,
24
+ flushSize: flushSize,
25
+ flushInterval: flushInterval,
26
+ credentials: credentials,
27
+ identityId: identityId,
28
+ resendLimit: resendLimit,
29
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
30
+ });
31
+ buffer.append({
32
+ region: region,
33
+ streamName: streamName,
34
+ partitionKey: partitionKey,
35
+ event: ArrayBuffer.isView(data) ? data : fromUtf8(JSON.stringify(data)),
36
+ timestamp: timestamp,
37
+ retryCount: 0,
38
+ });
39
+ })
40
+ .catch(function (e) {
41
+ // An error occured while fetching credentials or persisting the event to the buffer
42
+ logger.warn('Failed to record event.', e);
43
+ });
44
+ };
@@ -0,0 +1 @@
1
+ export { record, flushEvents } from './apis';
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { record, flushEvents } from './apis';
@@ -0,0 +1,15 @@
1
+ import { AWSCredentials } from '@aws-amplify/core/internals/utils';
2
+ import { EventBufferConfig } from '../../../utils';
3
+ import { KinesisShard } from '../../../types';
4
+ export type KinesisBufferEvent = KinesisShard & {
5
+ event: Uint8Array;
6
+ timestamp: number;
7
+ retryCount: number;
8
+ };
9
+ export type KinesisEventBufferConfig = EventBufferConfig & {
10
+ region: string;
11
+ credentials: AWSCredentials;
12
+ identityId?: string;
13
+ resendLimit?: number;
14
+ userAgentValue?: string;
15
+ };
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -0,0 +1,2 @@
1
+ export { RecordInput } from './inputs';
2
+ export { KinesisBufferEvent, KinesisEventBufferConfig } from './buffer';
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -0,0 +1,6 @@
1
+ import { KinesisEventData } from '../../../types';
2
+ export type RecordInput = {
3
+ streamName: string;
4
+ partitionKey: string;
5
+ data: KinesisEventData;
6
+ };
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_KINESIS_CONFIG: {
2
+ bufferSize: number;
3
+ flushSize: number;
4
+ flushInterval: number;
5
+ resendLimit: number;
6
+ };
@@ -0,0 +1,8 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export var DEFAULT_KINESIS_CONFIG = {
4
+ bufferSize: 1000,
5
+ flushSize: 100,
6
+ flushInterval: 5000,
7
+ resendLimit: 5,
8
+ };
@@ -0,0 +1,3 @@
1
+ import { KinesisBufferEvent, KinesisEventBufferConfig } from '../types';
2
+ import { EventBuffer } from '../../../utils';
3
+ export declare const getEventBuffer: ({ region, flushInterval, flushSize, bufferSize, credentials, identityId, resendLimit, userAgentValue, }: KinesisEventBufferConfig) => EventBuffer<KinesisBufferEvent>;
@@ -0,0 +1,99 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { __assign, __awaiter, __generator, __read, __values } from "tslib";
4
+ import { EventBuffer, groupBy } from '../../../utils';
5
+ import { KinesisClient, PutRecordsCommand } from '@aws-sdk/client-kinesis';
6
+ /**
7
+ * These Records hold cached event buffers and AWS clients.
8
+ * The hash key is determined by the region and session,
9
+ * consisting of a combined value comprising [region, sessionToken, identityId].
10
+ *
11
+ * Only one active session should exist at any given moment.
12
+ * When a new session is initiated, the previous ones should be released.
13
+ * */
14
+ var eventBufferMap = {};
15
+ var cachedClients = {};
16
+ var createKinesisPutRecordsCommand = function (streamName, events) {
17
+ return new PutRecordsCommand({
18
+ StreamName: streamName,
19
+ Records: events.map(function (event) { return ({
20
+ PartitionKey: event.partitionKey,
21
+ Data: event.event,
22
+ }); }),
23
+ });
24
+ };
25
+ var submitEvents = function (events, client, resendLimit) { return __awaiter(void 0, void 0, void 0, function () {
26
+ var groupedByStreamName, requests, responses, failedEvents;
27
+ return __generator(this, function (_a) {
28
+ switch (_a.label) {
29
+ case 0:
30
+ groupedByStreamName = Object.entries(groupBy(function (event) { return event.streamName; }, events));
31
+ requests = groupedByStreamName
32
+ .map(function (_a) {
33
+ var _b = __read(_a, 2), streamName = _b[0], events = _b[1];
34
+ return createKinesisPutRecordsCommand(streamName, events);
35
+ })
36
+ .map(function (command) { return client.send(command); });
37
+ return [4 /*yield*/, Promise.allSettled(requests)];
38
+ case 1:
39
+ responses = _a.sent();
40
+ failedEvents = responses
41
+ .map(function (response, i) {
42
+ return response.status === 'rejected' ? groupedByStreamName[i][1] : [];
43
+ })
44
+ .flat();
45
+ return [2 /*return*/, resendLimit
46
+ ? failedEvents
47
+ .filter(function (event) { return event.retryCount < resendLimit; })
48
+ .map(function (event) { return (__assign(__assign({}, event), { retryCount: event.retryCount + 1 })); })
49
+ .sort(function (a, b) { return a.timestamp - b.timestamp; })
50
+ : []];
51
+ }
52
+ });
53
+ }); };
54
+ export var getEventBuffer = function (_a) {
55
+ var e_1, _b;
56
+ var region = _a.region, flushInterval = _a.flushInterval, flushSize = _a.flushSize, bufferSize = _a.bufferSize, credentials = _a.credentials, identityId = _a.identityId, resendLimit = _a.resendLimit, userAgentValue = _a.userAgentValue;
57
+ var sessionToken = credentials.sessionToken;
58
+ var sessionIdentityKey = [region, sessionToken, identityId]
59
+ .filter(function (x) { return !!x; })
60
+ .join('-');
61
+ if (!eventBufferMap[sessionIdentityKey]) {
62
+ var getKinesisClient = function () {
63
+ if (!cachedClients[sessionIdentityKey]) {
64
+ cachedClients[sessionIdentityKey] = new KinesisClient({
65
+ credentials: credentials,
66
+ region: region,
67
+ customUserAgent: userAgentValue,
68
+ });
69
+ }
70
+ return function (events) {
71
+ return submitEvents(events, cachedClients[sessionIdentityKey], resendLimit);
72
+ };
73
+ };
74
+ // create new session
75
+ eventBufferMap[sessionIdentityKey] = new EventBuffer({
76
+ flushInterval: flushInterval,
77
+ flushSize: flushSize,
78
+ bufferSize: bufferSize,
79
+ }, getKinesisClient);
80
+ // release other sessions
81
+ var releaseSessionKeys = Object.keys(eventBufferMap).filter(function (x) { return x !== sessionIdentityKey; });
82
+ try {
83
+ for (var releaseSessionKeys_1 = __values(releaseSessionKeys), releaseSessionKeys_1_1 = releaseSessionKeys_1.next(); !releaseSessionKeys_1_1.done; releaseSessionKeys_1_1 = releaseSessionKeys_1.next()) {
84
+ var releaseSessionKey = releaseSessionKeys_1_1.value;
85
+ eventBufferMap[releaseSessionKey].release();
86
+ delete eventBufferMap[releaseSessionKey];
87
+ delete cachedClients[releaseSessionKey];
88
+ }
89
+ }
90
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
91
+ finally {
92
+ try {
93
+ if (releaseSessionKeys_1_1 && !releaseSessionKeys_1_1.done && (_b = releaseSessionKeys_1.return)) _b.call(releaseSessionKeys_1);
94
+ }
95
+ finally { if (e_1) throw e_1.error; }
96
+ }
97
+ }
98
+ return eventBufferMap[sessionIdentityKey];
99
+ };
@@ -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,20 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { __assign } from "tslib";
4
+ import { Amplify } from '@aws-amplify/core';
5
+ import { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';
6
+ import { DEFAULT_KINESIS_CONFIG } from './constants';
7
+ export var resolveConfig = function () {
8
+ var _a;
9
+ var config = (_a = Amplify.getConfig().Analytics) === null || _a === void 0 ? void 0 : _a.Kinesis;
10
+ var _b = __assign(__assign({}, DEFAULT_KINESIS_CONFIG), config), region = _b.region, _c = _b.bufferSize, bufferSize = _c === void 0 ? DEFAULT_KINESIS_CONFIG.bufferSize : _c, _d = _b.flushSize, flushSize = _d === void 0 ? DEFAULT_KINESIS_CONFIG.flushSize : _d, _e = _b.flushInterval, flushInterval = _e === void 0 ? DEFAULT_KINESIS_CONFIG.flushInterval : _e, resendLimit = _b.resendLimit;
11
+ assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);
12
+ assertValidationError(flushSize < bufferSize, AnalyticsValidationErrorCode.InvalidFlushSize);
13
+ return {
14
+ region: region,
15
+ bufferSize: bufferSize,
16
+ flushSize: flushSize,
17
+ flushInterval: flushInterval,
18
+ resendLimit: resendLimit,
19
+ };
20
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Flushes all buffered Kinesis 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,33 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { getEventBuffer, resolveConfig } from '../utils';
4
+ import { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';
5
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
6
+ import { ConsoleLogger } from '@aws-amplify/core';
7
+ var logger = new ConsoleLogger('KinesisFirehose');
8
+ /**
9
+ * Flushes all buffered Kinesis events to the service.
10
+ *
11
+ * @note
12
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
13
+ * this API may not be included in the flush.
14
+ */
15
+ export var flushEvents = function () {
16
+ var _a = resolveConfig(), region = _a.region, flushSize = _a.flushSize, flushInterval = _a.flushInterval, bufferSize = _a.bufferSize, resendLimit = _a.resendLimit;
17
+ resolveCredentials()
18
+ .then(function (_a) {
19
+ var credentials = _a.credentials, identityId = _a.identityId;
20
+ return getEventBuffer({
21
+ region: region,
22
+ flushSize: flushSize,
23
+ flushInterval: flushInterval,
24
+ bufferSize: bufferSize,
25
+ credentials: credentials,
26
+ identityId: identityId,
27
+ resendLimit: resendLimit,
28
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
29
+ });
30
+ })
31
+ .then(function (eventBuffer) { return eventBuffer.flushAll(); })
32
+ .catch(function (e) { return logger.warn('Failed to flush events.', e); });
33
+ };
@@ -0,0 +1,2 @@
1
+ export { record } from './record';
2
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { record } from './record';
4
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,2 @@
1
+ import { RecordInput } from '../types';
2
+ export declare const record: ({ streamName, data }: RecordInput) => void;
@@ -0,0 +1,41 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { getEventBuffer, resolveConfig } from '../utils';
4
+ import { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';
5
+ import { fromUtf8 } from '@smithy/util-utf8';
6
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
7
+ import { ConsoleLogger } from '@aws-amplify/core';
8
+ var logger = new ConsoleLogger('KinesisFirehose');
9
+ export var record = function (_a) {
10
+ var streamName = _a.streamName, data = _a.data;
11
+ if (!isAnalyticsEnabled()) {
12
+ logger.debug('Analytics is disabled, event will not be recorded.');
13
+ return;
14
+ }
15
+ var timestamp = Date.now();
16
+ var _b = resolveConfig(), region = _b.region, bufferSize = _b.bufferSize, flushSize = _b.flushSize, flushInterval = _b.flushInterval, resendLimit = _b.resendLimit;
17
+ resolveCredentials()
18
+ .then(function (_a) {
19
+ var credentials = _a.credentials, identityId = _a.identityId;
20
+ var buffer = getEventBuffer({
21
+ region: region,
22
+ credentials: credentials,
23
+ identityId: identityId,
24
+ bufferSize: bufferSize,
25
+ flushSize: flushSize,
26
+ flushInterval: flushInterval,
27
+ resendLimit: resendLimit,
28
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
29
+ });
30
+ buffer.append({
31
+ region: region,
32
+ streamName: streamName,
33
+ event: ArrayBuffer.isView(data) ? data : fromUtf8(JSON.stringify(data)),
34
+ timestamp: timestamp,
35
+ retryCount: 0,
36
+ });
37
+ })
38
+ .catch(function (e) {
39
+ logger.warn('Failed to record event.', e);
40
+ });
41
+ };
@@ -0,0 +1 @@
1
+ export { record, flushEvents } from './apis';
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { record, flushEvents } from './apis';
@@ -0,0 +1,15 @@
1
+ import { EventBufferConfig } from '../../../utils';
2
+ import { KinesisStream } from '../../../types';
3
+ import { AWSCredentials } from '@aws-amplify/core/internals/utils';
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
+ export { RecordInput } from './inputs';
2
+ export { KinesisFirehoseBufferEvent, KinesisFirehoseEventBufferConfig, } from './buffer';
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -0,0 +1,5 @@
1
+ import { KinesisEventData } from '../../../types';
2
+ export type RecordInput = {
3
+ streamName: string;
4
+ data: KinesisEventData;
5
+ };
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -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,8 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export var DEFAULT_KINESIS_FIREHOSE_CONFIG = {
4
+ bufferSize: 1000,
5
+ flushSize: 100,
6
+ flushInterval: 5000,
7
+ resendLimit: 5,
8
+ };
@@ -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,96 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { __assign, __awaiter, __generator, __read, __values } from "tslib";
4
+ import { EventBuffer, groupBy } from '../../../utils';
5
+ import { FirehoseClient, PutRecordBatchCommand, } from '@aws-sdk/client-firehose';
6
+ /**
7
+ * These Records hold cached event buffers and AWS clients.
8
+ * The hash key is determined by the region and session,
9
+ * consisting of a combined value comprising [region, sessionToken, identityId].
10
+ *
11
+ * Only one active session should exist at any given moment.
12
+ * When a new session is initiated, the previous ones should be released.
13
+ * */
14
+ var eventBufferMap = {};
15
+ var cachedClients = {};
16
+ var createPutRecordsBatchCommand = function (streamName, events) {
17
+ return new PutRecordBatchCommand({
18
+ DeliveryStreamName: streamName,
19
+ Records: events.map(function (event) { return ({
20
+ Data: event.event,
21
+ }); }),
22
+ });
23
+ };
24
+ var submitEvents = function (events, client, resendLimit) { return __awaiter(void 0, void 0, void 0, function () {
25
+ var groupedByStreamName, requests, responses, failedEvents;
26
+ return __generator(this, function (_a) {
27
+ switch (_a.label) {
28
+ case 0:
29
+ groupedByStreamName = Object.entries(groupBy(function (event) { return event.streamName; }, events));
30
+ requests = groupedByStreamName
31
+ .map(function (_a) {
32
+ var _b = __read(_a, 2), streamName = _b[0], events = _b[1];
33
+ return createPutRecordsBatchCommand(streamName, events);
34
+ })
35
+ .map(function (command) { return client.send(command); });
36
+ return [4 /*yield*/, Promise.allSettled(requests)];
37
+ case 1:
38
+ responses = _a.sent();
39
+ failedEvents = responses
40
+ .map(function (response, i) {
41
+ return response.status === 'rejected' ? groupedByStreamName[i][1] : [];
42
+ })
43
+ .flat();
44
+ return [2 /*return*/, resendLimit
45
+ ? failedEvents
46
+ .filter(function (event) { return event.retryCount < resendLimit; })
47
+ .map(function (event) { return (__assign(__assign({}, event), { retryCount: event.retryCount + 1 })); })
48
+ .sort(function (a, b) { return a.timestamp - b.timestamp; })
49
+ : []];
50
+ }
51
+ });
52
+ }); };
53
+ export var getEventBuffer = function (_a) {
54
+ var e_1, _b;
55
+ var region = _a.region, credentials = _a.credentials, identityId = _a.identityId, bufferSize = _a.bufferSize, flushSize = _a.flushSize, flushInterval = _a.flushInterval, resendLimit = _a.resendLimit, userAgentValue = _a.userAgentValue;
56
+ var sessionToken = credentials.sessionToken;
57
+ var sessionIdentityKey = [region, sessionToken, identityId]
58
+ .filter(function (id) { return !!id; })
59
+ .join('-');
60
+ if (!eventBufferMap[sessionIdentityKey]) {
61
+ var getClient = function () {
62
+ if (!cachedClients[sessionIdentityKey]) {
63
+ cachedClients[sessionIdentityKey] = new FirehoseClient({
64
+ region: region,
65
+ credentials: credentials,
66
+ customUserAgent: userAgentValue,
67
+ });
68
+ }
69
+ var firehoseClient = cachedClients[sessionIdentityKey];
70
+ return function (events) { return submitEvents(events, firehoseClient, resendLimit); };
71
+ };
72
+ eventBufferMap[sessionIdentityKey] =
73
+ new EventBuffer({
74
+ bufferSize: bufferSize,
75
+ flushSize: flushSize,
76
+ flushInterval: flushInterval,
77
+ }, getClient);
78
+ var releaseSessionKeys = Object.keys(eventBufferMap).filter(function (key) { return key !== sessionIdentityKey; });
79
+ try {
80
+ for (var releaseSessionKeys_1 = __values(releaseSessionKeys), releaseSessionKeys_1_1 = releaseSessionKeys_1.next(); !releaseSessionKeys_1_1.done; releaseSessionKeys_1_1 = releaseSessionKeys_1.next()) {
81
+ var releaseSessionKey = releaseSessionKeys_1_1.value;
82
+ eventBufferMap[releaseSessionKey].release();
83
+ delete eventBufferMap[releaseSessionKey];
84
+ delete cachedClients[releaseSessionKey];
85
+ }
86
+ }
87
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
88
+ finally {
89
+ try {
90
+ if (releaseSessionKeys_1_1 && !releaseSessionKeys_1_1.done && (_b = releaseSessionKeys_1.return)) _b.call(releaseSessionKeys_1);
91
+ }
92
+ finally { if (e_1) throw e_1.error; }
93
+ }
94
+ }
95
+ return eventBufferMap[sessionIdentityKey];
96
+ };
@@ -0,0 +1,2 @@
1
+ export { getEventBuffer } from './getEventBuffer';
2
+ export { resolveConfig } from './resolveConfig';
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { getEventBuffer } from './getEventBuffer';
4
+ export { resolveConfig } from './resolveConfig';
@@ -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,20 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { __assign } from "tslib";
4
+ import { Amplify } from '@aws-amplify/core';
5
+ import { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';
6
+ import { DEFAULT_KINESIS_FIREHOSE_CONFIG } from './constants';
7
+ export var resolveConfig = function () {
8
+ var _a;
9
+ var config = (_a = Amplify.getConfig().Analytics) === null || _a === void 0 ? void 0 : _a.KinesisFirehose;
10
+ var _b = __assign(__assign({}, DEFAULT_KINESIS_FIREHOSE_CONFIG), config), region = _b.region, _c = _b.bufferSize, bufferSize = _c === void 0 ? DEFAULT_KINESIS_FIREHOSE_CONFIG.bufferSize : _c, _d = _b.flushSize, flushSize = _d === void 0 ? DEFAULT_KINESIS_FIREHOSE_CONFIG.flushSize : _d, _e = _b.flushInterval, flushInterval = _e === void 0 ? DEFAULT_KINESIS_FIREHOSE_CONFIG.flushInterval : _e, resendLimit = _b.resendLimit;
11
+ assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);
12
+ assertValidationError(flushSize < bufferSize, AnalyticsValidationErrorCode.InvalidFlushSize);
13
+ return {
14
+ region: region,
15
+ bufferSize: bufferSize,
16
+ flushSize: flushSize,
17
+ flushInterval: flushInterval,
18
+ resendLimit: resendLimit,
19
+ };
20
+ };
@@ -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,32 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { getEventBuffer, resolveConfig } from '../utils';
4
+ import { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';
5
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
6
+ import { ConsoleLogger } from '@aws-amplify/core';
7
+ var logger = new ConsoleLogger('Personalize');
8
+ /**
9
+ * Flushes all buffered Personalize events to the service.
10
+ *
11
+ * @note
12
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
13
+ * this API may not be included in the flush.
14
+ */
15
+ export var flushEvents = function () {
16
+ var _a = resolveConfig(), region = _a.region, flushSize = _a.flushSize, bufferSize = _a.bufferSize, flushInterval = _a.flushInterval;
17
+ resolveCredentials()
18
+ .then(function (_a) {
19
+ var credentials = _a.credentials, identityId = _a.identityId;
20
+ return getEventBuffer({
21
+ region: region,
22
+ flushSize: flushSize,
23
+ flushInterval: flushInterval,
24
+ bufferSize: bufferSize,
25
+ credentials: credentials,
26
+ identityId: identityId,
27
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
28
+ });
29
+ })
30
+ .then(function (eventBuffer) { return eventBuffer.flushAll(); })
31
+ .catch(function (e) { return logger.warn('Failed to flush events', e); });
32
+ };
@@ -0,0 +1,2 @@
1
+ export { record } from './record';
2
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { record } from './record';
4
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,2 @@
1
+ import { RecordInput } from '../types';
2
+ export declare const record: ({ userId, eventId, eventType, properties, }: RecordInput) => void;