@shware/analytics 3.6.4 → 3.7.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 (407) hide show
  1. package/README.md +50 -3
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/dist/constants/storage.cjs +12 -37
  4. package/dist/constants/storage.cjs.map +1 -1
  5. package/dist/constants/storage.d.cts +10 -8
  6. package/dist/constants/storage.d.cts.map +1 -0
  7. package/dist/constants/storage.d.mts +13 -0
  8. package/dist/constants/storage.d.mts.map +1 -0
  9. package/dist/constants/storage.mjs +12 -13
  10. package/dist/constants/storage.mjs.map +1 -1
  11. package/dist/feedback/index.cjs +14 -40
  12. package/dist/feedback/index.cjs.map +1 -1
  13. package/dist/feedback/index.d.cts +4 -4
  14. package/dist/feedback/index.d.cts.map +1 -0
  15. package/dist/feedback/index.d.mts +6 -0
  16. package/dist/feedback/index.d.mts.map +1 -0
  17. package/dist/feedback/index.mjs +12 -14
  18. package/dist/feedback/index.mjs.map +1 -1
  19. package/dist/hooks/use-app-analytics.cjs +46 -65
  20. package/dist/hooks/use-app-analytics.cjs.map +1 -1
  21. package/dist/hooks/use-app-analytics.d.cts +3 -1
  22. package/dist/hooks/use-app-analytics.d.cts.map +1 -0
  23. package/dist/hooks/use-app-analytics.d.mts +5 -0
  24. package/dist/hooks/use-app-analytics.d.mts.map +1 -0
  25. package/dist/hooks/use-app-analytics.mjs +41 -36
  26. package/dist/hooks/use-app-analytics.mjs.map +1 -1
  27. package/dist/hooks/use-click-id-persistence.cjs +43 -65
  28. package/dist/hooks/use-click-id-persistence.cjs.map +1 -1
  29. package/dist/hooks/use-click-id-persistence.d.cts +3 -1
  30. package/dist/hooks/use-click-id-persistence.d.cts.map +1 -0
  31. package/dist/hooks/use-click-id-persistence.d.mts +5 -0
  32. package/dist/hooks/use-click-id-persistence.d.mts.map +1 -0
  33. package/dist/hooks/use-click-id-persistence.mjs +40 -38
  34. package/dist/hooks/use-click-id-persistence.mjs.map +1 -1
  35. package/dist/hooks/use-outbound-click-analytics.cjs +33 -55
  36. package/dist/hooks/use-outbound-click-analytics.cjs.map +1 -1
  37. package/dist/hooks/use-outbound-click-analytics.d.cts +3 -1
  38. package/dist/hooks/use-outbound-click-analytics.d.cts.map +1 -0
  39. package/dist/hooks/{use-outbound-click-analytics.d.ts → use-outbound-click-analytics.d.mts} +3 -1
  40. package/dist/hooks/use-outbound-click-analytics.d.mts.map +1 -0
  41. package/dist/hooks/use-outbound-click-analytics.mjs +31 -29
  42. package/dist/hooks/use-outbound-click-analytics.mjs.map +1 -1
  43. package/dist/hooks/use-previous.cjs +11 -35
  44. package/dist/hooks/use-previous.cjs.map +1 -1
  45. package/dist/hooks/use-previous.d.cts +3 -1
  46. package/dist/hooks/use-previous.d.cts.map +1 -0
  47. package/dist/hooks/use-previous.d.mts +5 -0
  48. package/dist/hooks/use-previous.d.mts.map +1 -0
  49. package/dist/hooks/use-previous.mjs +9 -9
  50. package/dist/hooks/use-previous.mjs.map +1 -1
  51. package/dist/hooks/use-track-impression.cjs +24 -51
  52. package/dist/hooks/use-track-impression.cjs.map +1 -1
  53. package/dist/hooks/use-track-impression.d.cts +5 -6
  54. package/dist/hooks/use-track-impression.d.cts.map +1 -0
  55. package/dist/hooks/use-track-impression.d.mts +6 -0
  56. package/dist/hooks/use-track-impression.d.mts.map +1 -0
  57. package/dist/hooks/use-track-impression.mjs +22 -25
  58. package/dist/hooks/use-track-impression.mjs.map +1 -1
  59. package/dist/hooks/use-web-analytics.cjs +98 -109
  60. package/dist/hooks/use-web-analytics.cjs.map +1 -1
  61. package/dist/hooks/use-web-analytics.d.cts +3 -1
  62. package/dist/hooks/use-web-analytics.d.cts.map +1 -0
  63. package/dist/hooks/{use-web-analytics.d.ts → use-web-analytics.d.mts} +3 -1
  64. package/dist/hooks/use-web-analytics.d.mts.map +1 -0
  65. package/dist/hooks/use-web-analytics.mjs +93 -80
  66. package/dist/hooks/use-web-analytics.mjs.map +1 -1
  67. package/dist/index.cjs +28 -74
  68. package/dist/index.d.cts +11 -13
  69. package/dist/index.d.mts +11 -0
  70. package/dist/index.mjs +3 -34
  71. package/dist/link/index.cjs +31 -58
  72. package/dist/link/index.cjs.map +1 -1
  73. package/dist/link/index.d.cts +7 -7
  74. package/dist/link/index.d.cts.map +1 -0
  75. package/dist/link/index.d.mts +11 -0
  76. package/dist/link/index.d.mts.map +1 -0
  77. package/dist/link/index.mjs +28 -31
  78. package/dist/link/index.mjs.map +1 -1
  79. package/dist/native/fbsdk.cjs +12 -33
  80. package/dist/native/fbsdk.cjs.map +1 -1
  81. package/dist/native/fbsdk.d.cts +4 -4
  82. package/dist/native/fbsdk.d.cts.map +1 -0
  83. package/dist/native/{fbsdk.d.ts → fbsdk.d.mts} +4 -4
  84. package/dist/native/fbsdk.d.mts.map +1 -0
  85. package/dist/native/fbsdk.mjs +10 -7
  86. package/dist/native/fbsdk.mjs.map +1 -1
  87. package/dist/native/fingerprint.cjs +41 -64
  88. package/dist/native/fingerprint.cjs.map +1 -1
  89. package/dist/native/fingerprint.d.cts +22 -20
  90. package/dist/native/fingerprint.d.cts.map +1 -0
  91. package/dist/native/fingerprint.d.mts +28 -0
  92. package/dist/native/fingerprint.d.mts.map +1 -0
  93. package/dist/native/fingerprint.mjs +36 -42
  94. package/dist/native/fingerprint.mjs.map +1 -1
  95. package/dist/native/firebase.cjs +12 -39
  96. package/dist/native/firebase.cjs.map +1 -1
  97. package/dist/native/firebase.d.cts +4 -4
  98. package/dist/native/firebase.d.cts.map +1 -0
  99. package/dist/native/firebase.d.mts +6 -0
  100. package/dist/native/firebase.d.mts.map +1 -0
  101. package/dist/native/firebase.mjs +10 -13
  102. package/dist/native/firebase.mjs.map +1 -1
  103. package/dist/native/index.cjs +11 -45
  104. package/dist/native/index.d.cts +4 -7
  105. package/dist/native/index.d.mts +4 -0
  106. package/dist/native/index.mjs +2 -12
  107. package/dist/native/posthog.cjs +5 -30
  108. package/dist/native/posthog.cjs.map +1 -1
  109. package/dist/native/posthog.d.cts +3 -1
  110. package/dist/native/posthog.d.cts.map +1 -0
  111. package/dist/native/posthog.d.mts +5 -0
  112. package/dist/native/posthog.d.mts.map +1 -0
  113. package/dist/native/posthog.mjs +5 -6
  114. package/dist/native/posthog.mjs.map +1 -1
  115. package/dist/native/setup.cjs +91 -129
  116. package/dist/native/setup.cjs.map +1 -1
  117. package/dist/native/setup.d.cts +6 -6
  118. package/dist/native/setup.d.cts.map +1 -0
  119. package/dist/native/{setup.d.ts → setup.d.mts} +6 -6
  120. package/dist/native/setup.d.mts.map +1 -0
  121. package/dist/native/setup.mjs +83 -105
  122. package/dist/native/setup.mjs.map +1 -1
  123. package/dist/next/index.cjs +72 -145
  124. package/dist/next/index.cjs.map +1 -1
  125. package/dist/next/index.d.cts +18 -19
  126. package/dist/next/index.d.cts.map +1 -0
  127. package/dist/next/index.d.mts +21 -0
  128. package/dist/next/index.d.mts.map +1 -0
  129. package/dist/next/index.mjs +65 -107
  130. package/dist/next/index.mjs.map +1 -1
  131. package/dist/react-router/index.cjs +80 -144
  132. package/dist/react-router/index.cjs.map +1 -1
  133. package/dist/react-router/index.d.cts +18 -19
  134. package/dist/react-router/index.d.cts.map +1 -0
  135. package/dist/react-router/index.d.mts +21 -0
  136. package/dist/react-router/index.d.mts.map +1 -0
  137. package/dist/react-router/index.mjs +75 -115
  138. package/dist/react-router/index.mjs.map +1 -1
  139. package/dist/schema/index.cjs +188 -233
  140. package/dist/schema/index.cjs.map +1 -1
  141. package/dist/schema/index.d.cts +236 -235
  142. package/dist/schema/index.d.cts.map +1 -0
  143. package/dist/schema/index.d.mts +325 -0
  144. package/dist/schema/index.d.mts.map +1 -0
  145. package/dist/schema/index.mjs +178 -222
  146. package/dist/schema/index.mjs.map +1 -1
  147. package/dist/server/index.cjs +9 -40
  148. package/dist/server/index.d.cts +5 -9
  149. package/dist/server/index.d.mts +5 -0
  150. package/dist/server/index.mjs +5 -12
  151. package/dist/server/linkedin-conversions-api.cjs +66 -95
  152. package/dist/server/linkedin-conversions-api.cjs.map +1 -1
  153. package/dist/server/linkedin-conversions-api.d.cts +45 -45
  154. package/dist/server/linkedin-conversions-api.d.cts.map +1 -0
  155. package/dist/server/linkedin-conversions-api.d.mts +56 -0
  156. package/dist/server/linkedin-conversions-api.d.mts.map +1 -0
  157. package/dist/server/linkedin-conversions-api.mjs +63 -68
  158. package/dist/server/linkedin-conversions-api.mjs.map +1 -1
  159. package/dist/server/meta-conversions-api.cjs +157 -265
  160. package/dist/server/meta-conversions-api.cjs.map +1 -1
  161. package/dist/server/meta-conversions-api.d.cts +8 -9
  162. package/dist/server/meta-conversions-api.d.cts.map +1 -0
  163. package/dist/server/meta-conversions-api.d.mts +10 -0
  164. package/dist/server/meta-conversions-api.d.mts.map +1 -0
  165. package/dist/server/meta-conversions-api.mjs +151 -243
  166. package/dist/server/meta-conversions-api.mjs.map +1 -1
  167. package/dist/server/openai-conversions-api.cjs +69 -96
  168. package/dist/server/openai-conversions-api.cjs.map +1 -1
  169. package/dist/server/openai-conversions-api.d.cts +34 -34
  170. package/dist/server/openai-conversions-api.d.cts.map +1 -0
  171. package/dist/server/openai-conversions-api.d.mts +47 -0
  172. package/dist/server/openai-conversions-api.d.mts.map +1 -0
  173. package/dist/server/openai-conversions-api.mjs +65 -68
  174. package/dist/server/openai-conversions-api.mjs.map +1 -1
  175. package/dist/server/reddit-conversions-api.cjs +64 -91
  176. package/dist/server/reddit-conversions-api.cjs.map +1 -1
  177. package/dist/server/reddit-conversions-api.d.cts +61 -61
  178. package/dist/server/reddit-conversions-api.d.cts.map +1 -0
  179. package/dist/server/reddit-conversions-api.d.mts +75 -0
  180. package/dist/server/reddit-conversions-api.d.mts.map +1 -0
  181. package/dist/server/reddit-conversions-api.mjs +59 -62
  182. package/dist/server/reddit-conversions-api.mjs.map +1 -1
  183. package/dist/setup/index.cjs +34 -63
  184. package/dist/setup/index.cjs.map +1 -1
  185. package/dist/setup/index.d.cts +30 -30
  186. package/dist/setup/index.d.cts.map +1 -0
  187. package/dist/setup/index.d.mts +41 -0
  188. package/dist/setup/index.d.mts.map +1 -0
  189. package/dist/setup/index.mjs +31 -36
  190. package/dist/setup/index.mjs.map +1 -1
  191. package/dist/setup/session.cjs +70 -106
  192. package/dist/setup/session.cjs.map +1 -1
  193. package/dist/setup/session.d.cts +26 -24
  194. package/dist/setup/session.d.cts.map +1 -0
  195. package/dist/setup/session.d.mts +31 -0
  196. package/dist/setup/session.d.mts.map +1 -0
  197. package/dist/setup/session.mjs +68 -80
  198. package/dist/setup/session.mjs.map +1 -1
  199. package/dist/tanstack/index.cjs +86 -156
  200. package/dist/tanstack/index.cjs.map +1 -1
  201. package/dist/tanstack/index.d.cts +19 -20
  202. package/dist/tanstack/index.d.cts.map +1 -0
  203. package/dist/tanstack/index.d.mts +22 -0
  204. package/dist/tanstack/index.d.mts.map +1 -0
  205. package/dist/tanstack/index.mjs +81 -127
  206. package/dist/tanstack/index.mjs.map +1 -1
  207. package/dist/third-parties/google-analytics.cjs +18 -43
  208. package/dist/third-parties/google-analytics.cjs.map +1 -1
  209. package/dist/third-parties/google-analytics.d.cts +7 -7
  210. package/dist/third-parties/google-analytics.d.cts.map +1 -0
  211. package/dist/third-parties/google-analytics.d.mts +12 -0
  212. package/dist/third-parties/google-analytics.d.mts.map +1 -0
  213. package/dist/third-parties/google-analytics.mjs +16 -17
  214. package/dist/third-parties/google-analytics.mjs.map +1 -1
  215. package/dist/third-parties/ignored-events.cjs +35 -68
  216. package/dist/third-parties/ignored-events.cjs.map +1 -1
  217. package/dist/third-parties/ignored-events.d.cts +3 -1
  218. package/dist/third-parties/ignored-events.d.cts.map +1 -0
  219. package/dist/third-parties/ignored-events.d.mts +5 -0
  220. package/dist/third-parties/ignored-events.d.mts.map +1 -0
  221. package/dist/third-parties/ignored-events.mjs +34 -43
  222. package/dist/third-parties/ignored-events.mjs.map +1 -1
  223. package/dist/third-parties/index.cjs +16 -53
  224. package/dist/third-parties/index.d.cts +6 -12
  225. package/dist/third-parties/index.d.mts +6 -0
  226. package/dist/third-parties/index.mjs +1 -14
  227. package/dist/third-parties/linkedin-insight-tag.cjs +28 -50
  228. package/dist/third-parties/linkedin-insight-tag.cjs.map +1 -1
  229. package/dist/third-parties/linkedin-insight-tag.d.cts +8 -9
  230. package/dist/third-parties/linkedin-insight-tag.d.cts.map +1 -0
  231. package/dist/third-parties/{linkedin-insight-tag.d.ts → linkedin-insight-tag.d.mts} +8 -9
  232. package/dist/third-parties/linkedin-insight-tag.d.mts.map +1 -0
  233. package/dist/third-parties/linkedin-insight-tag.mjs +25 -23
  234. package/dist/third-parties/linkedin-insight-tag.mjs.map +1 -1
  235. package/dist/third-parties/meta-pixel.cjs +45 -66
  236. package/dist/third-parties/meta-pixel.cjs.map +1 -1
  237. package/dist/third-parties/meta-pixel.d.cts +7 -8
  238. package/dist/third-parties/meta-pixel.d.cts.map +1 -0
  239. package/dist/third-parties/meta-pixel.d.mts +12 -0
  240. package/dist/third-parties/meta-pixel.d.mts.map +1 -0
  241. package/dist/third-parties/meta-pixel.mjs +41 -38
  242. package/dist/third-parties/meta-pixel.mjs.map +1 -1
  243. package/dist/third-parties/openai-pixel.cjs +63 -68
  244. package/dist/third-parties/openai-pixel.cjs.map +1 -1
  245. package/dist/third-parties/openai-pixel.d.cts +7 -8
  246. package/dist/third-parties/openai-pixel.d.cts.map +1 -0
  247. package/dist/third-parties/{openai-pixel.d.ts → openai-pixel.d.mts} +7 -8
  248. package/dist/third-parties/openai-pixel.d.mts.map +1 -0
  249. package/dist/third-parties/openai-pixel.mjs +60 -41
  250. package/dist/third-parties/openai-pixel.mjs.map +1 -1
  251. package/dist/third-parties/posthog.cjs +23 -43
  252. package/dist/third-parties/posthog.cjs.map +1 -1
  253. package/dist/third-parties/posthog.d.cts +5 -5
  254. package/dist/third-parties/posthog.d.cts.map +1 -0
  255. package/dist/third-parties/{posthog.d.ts → posthog.d.mts} +5 -5
  256. package/dist/third-parties/posthog.d.mts.map +1 -0
  257. package/dist/third-parties/posthog.mjs +20 -16
  258. package/dist/third-parties/posthog.mjs.map +1 -1
  259. package/dist/third-parties/reddit-pixel.cjs +37 -58
  260. package/dist/third-parties/reddit-pixel.cjs.map +1 -1
  261. package/dist/third-parties/reddit-pixel.d.cts +7 -8
  262. package/dist/third-parties/reddit-pixel.d.cts.map +1 -0
  263. package/dist/third-parties/reddit-pixel.d.mts +12 -0
  264. package/dist/third-parties/reddit-pixel.d.mts.map +1 -0
  265. package/dist/third-parties/reddit-pixel.mjs +33 -30
  266. package/dist/third-parties/reddit-pixel.mjs.map +1 -1
  267. package/dist/track/fbq.cjs +179 -135
  268. package/dist/track/fbq.cjs.map +1 -1
  269. package/dist/track/fbq.d.cts +234 -233
  270. package/dist/track/fbq.d.cts.map +1 -0
  271. package/dist/track/fbq.d.mts +280 -0
  272. package/dist/track/fbq.d.mts.map +1 -0
  273. package/dist/track/fbq.mjs +176 -108
  274. package/dist/track/fbq.mjs.map +1 -1
  275. package/dist/track/gtag.cjs +63 -86
  276. package/dist/track/gtag.cjs.map +1 -1
  277. package/dist/track/gtag.d.cts +682 -682
  278. package/dist/track/gtag.d.cts.map +1 -0
  279. package/dist/track/gtag.d.mts +762 -0
  280. package/dist/track/gtag.d.mts.map +1 -0
  281. package/dist/track/gtag.mjs +62 -61
  282. package/dist/track/gtag.mjs.map +1 -1
  283. package/dist/track/index.cjs +111 -136
  284. package/dist/track/index.cjs.map +1 -1
  285. package/dist/track/index.d.cts +8 -8
  286. package/dist/track/index.d.cts.map +1 -0
  287. package/dist/track/{index.d.ts → index.d.mts} +8 -8
  288. package/dist/track/index.d.mts.map +1 -0
  289. package/dist/track/index.mjs +105 -106
  290. package/dist/track/index.mjs.map +1 -1
  291. package/dist/track/lintrk.cjs +0 -19
  292. package/dist/track/lintrk.d.cts +12 -10
  293. package/dist/track/lintrk.d.cts.map +1 -0
  294. package/dist/track/lintrk.d.mts +14 -0
  295. package/dist/track/lintrk.d.mts.map +1 -0
  296. package/dist/track/lintrk.mjs +1 -1
  297. package/dist/track/oaiq.cjs +153 -146
  298. package/dist/track/oaiq.cjs.map +1 -1
  299. package/dist/track/oaiq.d.cts +65 -64
  300. package/dist/track/oaiq.d.cts.map +1 -0
  301. package/dist/track/oaiq.d.mts +112 -0
  302. package/dist/track/oaiq.d.mts.map +1 -0
  303. package/dist/track/oaiq.mjs +149 -118
  304. package/dist/track/oaiq.mjs.map +1 -1
  305. package/dist/track/rdt.cjs +66 -110
  306. package/dist/track/rdt.cjs.map +1 -1
  307. package/dist/track/rdt.d.cts +74 -73
  308. package/dist/track/rdt.d.cts.map +1 -0
  309. package/dist/track/rdt.d.mts +97 -0
  310. package/dist/track/rdt.d.mts.map +1 -0
  311. package/dist/track/rdt.mjs +63 -83
  312. package/dist/track/rdt.mjs.map +1 -1
  313. package/dist/track/types.cjs +0 -19
  314. package/dist/track/types.d.cts +140 -111
  315. package/dist/track/types.d.cts.map +1 -0
  316. package/dist/track/types.d.mts +171 -0
  317. package/dist/track/types.d.mts.map +1 -0
  318. package/dist/track/types.mjs +1 -1
  319. package/dist/utils/field.cjs +8 -32
  320. package/dist/utils/field.cjs.map +1 -1
  321. package/dist/utils/field.d.cts +3 -1
  322. package/dist/utils/field.d.cts.map +1 -0
  323. package/dist/utils/{field.d.ts → field.d.mts} +3 -1
  324. package/dist/utils/field.d.mts.map +1 -0
  325. package/dist/utils/field.mjs +7 -7
  326. package/dist/utils/field.mjs.map +1 -1
  327. package/dist/utils/stripe.cjs +25 -49
  328. package/dist/utils/stripe.cjs.map +1 -1
  329. package/dist/utils/stripe.d.cts +3 -1
  330. package/dist/utils/stripe.d.cts.map +1 -0
  331. package/dist/utils/{stripe.d.ts → stripe.d.mts} +3 -1
  332. package/dist/utils/stripe.d.mts.map +1 -0
  333. package/dist/utils/stripe.mjs +23 -23
  334. package/dist/utils/stripe.mjs.map +1 -1
  335. package/dist/visitor/index.cjs +54 -86
  336. package/dist/visitor/index.cjs.map +1 -1
  337. package/dist/visitor/index.d.cts +4 -5
  338. package/dist/visitor/index.d.cts.map +1 -0
  339. package/dist/visitor/{index.d.ts → index.d.mts} +4 -5
  340. package/dist/visitor/index.d.mts.map +1 -0
  341. package/dist/visitor/index.mjs +51 -59
  342. package/dist/visitor/index.mjs.map +1 -1
  343. package/dist/visitor/types.cjs +0 -19
  344. package/dist/visitor/types.d.cts +15 -14
  345. package/dist/visitor/types.d.cts.map +1 -0
  346. package/dist/visitor/types.d.mts +21 -0
  347. package/dist/visitor/types.d.mts.map +1 -0
  348. package/dist/visitor/types.mjs +1 -1
  349. package/dist/web/index.cjs +108 -148
  350. package/dist/web/index.cjs.map +1 -1
  351. package/dist/web/index.d.cts +5 -6
  352. package/dist/web/index.d.cts.map +1 -0
  353. package/dist/web/index.d.mts +9 -0
  354. package/dist/web/index.d.mts.map +1 -0
  355. package/dist/web/index.mjs +101 -109
  356. package/dist/web/index.mjs.map +1 -1
  357. package/package.json +102 -49
  358. package/dist/constants/storage.d.ts +0 -11
  359. package/dist/feedback/index.d.ts +0 -6
  360. package/dist/hooks/use-app-analytics.d.ts +0 -3
  361. package/dist/hooks/use-click-id-persistence.d.ts +0 -3
  362. package/dist/hooks/use-previous.d.ts +0 -3
  363. package/dist/hooks/use-track-impression.d.ts +0 -7
  364. package/dist/index.cjs.map +0 -1
  365. package/dist/index.d.ts +0 -13
  366. package/dist/index.mjs.map +0 -1
  367. package/dist/link/index.d.ts +0 -11
  368. package/dist/native/fingerprint.d.ts +0 -26
  369. package/dist/native/firebase.d.ts +0 -6
  370. package/dist/native/index.cjs.map +0 -1
  371. package/dist/native/index.d.ts +0 -7
  372. package/dist/native/index.mjs.map +0 -1
  373. package/dist/native/posthog.d.ts +0 -3
  374. package/dist/next/index.d.ts +0 -22
  375. package/dist/react-router/index.d.ts +0 -22
  376. package/dist/schema/index.d.ts +0 -324
  377. package/dist/server/index.cjs.map +0 -1
  378. package/dist/server/index.d.ts +0 -9
  379. package/dist/server/index.mjs.map +0 -1
  380. package/dist/server/linkedin-conversions-api.d.ts +0 -56
  381. package/dist/server/meta-conversions-api.d.ts +0 -11
  382. package/dist/server/openai-conversions-api.d.ts +0 -47
  383. package/dist/server/reddit-conversions-api.d.ts +0 -75
  384. package/dist/setup/index.d.ts +0 -41
  385. package/dist/setup/session.d.ts +0 -29
  386. package/dist/tanstack/index.d.ts +0 -23
  387. package/dist/third-parties/google-analytics.d.ts +0 -12
  388. package/dist/third-parties/ignored-events.d.ts +0 -3
  389. package/dist/third-parties/index.cjs.map +0 -1
  390. package/dist/third-parties/index.d.ts +0 -12
  391. package/dist/third-parties/index.mjs.map +0 -1
  392. package/dist/third-parties/meta-pixel.d.ts +0 -13
  393. package/dist/third-parties/reddit-pixel.d.ts +0 -13
  394. package/dist/track/fbq.d.ts +0 -279
  395. package/dist/track/gtag.d.ts +0 -762
  396. package/dist/track/lintrk.cjs.map +0 -1
  397. package/dist/track/lintrk.d.ts +0 -12
  398. package/dist/track/lintrk.mjs.map +0 -1
  399. package/dist/track/oaiq.d.ts +0 -111
  400. package/dist/track/rdt.d.ts +0 -96
  401. package/dist/track/types.cjs.map +0 -1
  402. package/dist/track/types.d.ts +0 -142
  403. package/dist/track/types.mjs.map +0 -1
  404. package/dist/visitor/types.cjs.map +0 -1
  405. package/dist/visitor/types.d.ts +0 -20
  406. package/dist/visitor/types.mjs.map +0 -1
  407. package/dist/web/index.d.ts +0 -10
@@ -1,169 +1,176 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/track/oaiq.ts
21
- var oaiq_exports = {};
22
- __export(oaiq_exports, {
23
- NON_AD_EVENTS: () => NON_AD_EVENTS,
24
- mapContents: () => mapContents,
25
- mapOAIEvent: () => mapOAIEvent,
26
- toMinorUnits: () => toMinorUnits
27
- });
28
- module.exports = __toCommonJS(oaiq_exports);
29
- var NON_AD_EVENTS = [
30
- // metrics
31
- "CLS",
32
- "FCP",
33
- "FID",
34
- "INP",
35
- "LCP",
36
- "TTFB",
37
- // promotions
38
- "view_promotion",
39
- "select_promotion"
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/track/oaiq.ts
3
+ const NON_AD_EVENTS = [
4
+ "CLS",
5
+ "FCP",
6
+ "FID",
7
+ "INP",
8
+ "LCP",
9
+ "TTFB",
10
+ "view_promotion",
11
+ "select_promotion"
40
12
  ];
41
- var ZERO_DECIMAL_CURRENCIES = /* @__PURE__ */ new Set([
42
- "BIF",
43
- "CLP",
44
- "DJF",
45
- "GNF",
46
- "ISK",
47
- "JPY",
48
- "KMF",
49
- "KRW",
50
- "MGA",
51
- "PYG",
52
- "RWF",
53
- "UGX",
54
- "VND",
55
- "VUV",
56
- "XAF",
57
- "XOF",
58
- "XPF"
13
+ /**
14
+ * Currencies whose minor unit has 0 or 3 decimal places; everything else uses 2.
15
+ * Follows Stripe's zero-decimal convention (e.g., MGA is treated as 0, ISK is included),
16
+ * which can differ from strict ISO 4217 exponents.
17
+ * https://docs.stripe.com/currencies#zero-decimal
18
+ */
19
+ const ZERO_DECIMAL_CURRENCIES = /* @__PURE__ */ new Set([
20
+ "BIF",
21
+ "CLP",
22
+ "DJF",
23
+ "GNF",
24
+ "ISK",
25
+ "JPY",
26
+ "KMF",
27
+ "KRW",
28
+ "MGA",
29
+ "PYG",
30
+ "RWF",
31
+ "UGX",
32
+ "VND",
33
+ "VUV",
34
+ "XAF",
35
+ "XOF",
36
+ "XPF"
37
+ ]);
38
+ const THREE_DECIMAL_CURRENCIES = /* @__PURE__ */ new Set([
39
+ "BHD",
40
+ "IQD",
41
+ "JOD",
42
+ "KWD",
43
+ "LYD",
44
+ "OMR",
45
+ "TND"
59
46
  ]);
60
- var THREE_DECIMAL_CURRENCIES = /* @__PURE__ */ new Set(["BHD", "IQD", "JOD", "KWD", "LYD", "OMR", "TND"]);
47
+ /** Convert a major-unit amount (e.g., 129.99) into ISO 4217 minor units (e.g., 12,999). */
61
48
  function toMinorUnits(value, currency) {
62
- if (value === void 0 || value === null || Number.isNaN(value)) return void 0;
63
- const code = currency == null ? void 0 : currency.toUpperCase();
64
- const exponent = code && ZERO_DECIMAL_CURRENCIES.has(code) ? 0 : code && THREE_DECIMAL_CURRENCIES.has(code) ? 3 : 2;
65
- return Math.round(value * 10 ** exponent);
49
+ if (value === void 0 || value === null || Number.isNaN(value)) return void 0;
50
+ const code = currency?.toUpperCase();
51
+ const exponent = code && ZERO_DECIMAL_CURRENCIES.has(code) ? 0 : code && THREE_DECIMAL_CURRENCIES.has(code) ? 3 : 2;
52
+ return Math.round(value * 10 ** exponent);
66
53
  }
67
54
  function mapContents(items, currency) {
68
- if (!items || items.length === 0) return void 0;
69
- const code = currency == null ? void 0 : currency.toUpperCase();
70
- return items.map((item) => ({
71
- id: item.item_id,
72
- name: item.item_name,
73
- content_type: item.item_category,
74
- quantity: item.quantity,
75
- amount: toMinorUnits(item.price, currency),
76
- currency: item.price !== void 0 ? code : void 0
77
- }));
55
+ if (!items || items.length === 0) return void 0;
56
+ const code = currency?.toUpperCase();
57
+ return items.map((item) => ({
58
+ id: item.item_id,
59
+ name: item.item_name,
60
+ content_type: item.item_category,
61
+ quantity: item.quantity,
62
+ amount: toMinorUnits(item.price, currency),
63
+ currency: item.price !== void 0 ? code : void 0
64
+ }));
78
65
  }
66
+ /** Safely read a property off loosely typed track properties without widening to `any`. */
79
67
  function prop(properties, key) {
80
- return typeof properties === "object" && properties !== null ? properties[key] : void 0;
68
+ return typeof properties === "object" && properties !== null ? properties[key] : void 0;
81
69
  }
82
70
  function readValue(properties) {
83
- const value = prop(properties, "value");
84
- return typeof value === "number" ? value : void 0;
71
+ const value = prop(properties, "value");
72
+ return typeof value === "number" ? value : void 0;
85
73
  }
86
74
  function readCurrency(properties) {
87
- const currency = prop(properties, "currency");
88
- return typeof currency === "string" ? currency : void 0;
75
+ const currency = prop(properties, "currency");
76
+ return typeof currency === "string" ? currency : void 0;
89
77
  }
90
78
  function readItems(properties) {
91
- const items = prop(properties, "items");
92
- return Array.isArray(items) ? items : void 0;
79
+ const items = prop(properties, "items");
80
+ return Array.isArray(items) ? items : void 0;
93
81
  }
94
82
  function contentsData(properties) {
95
- const currency = readCurrency(properties);
96
- return {
97
- type: "contents",
98
- amount: toMinorUnits(readValue(properties), currency),
99
- currency: currency == null ? void 0 : currency.toUpperCase(),
100
- contents: mapContents(readItems(properties), currency)
101
- };
83
+ const currency = readCurrency(properties);
84
+ return {
85
+ type: "contents",
86
+ amount: toMinorUnits(readValue(properties), currency),
87
+ currency: currency?.toUpperCase(),
88
+ contents: mapContents(readItems(properties), currency)
89
+ };
102
90
  }
103
91
  function customerActionData(properties) {
104
- const currency = readCurrency(properties);
105
- return {
106
- type: "customer_action",
107
- amount: toMinorUnits(readValue(properties), currency),
108
- currency: currency == null ? void 0 : currency.toUpperCase()
109
- };
92
+ const currency = readCurrency(properties);
93
+ return {
94
+ type: "customer_action",
95
+ amount: toMinorUnits(readValue(properties), currency),
96
+ currency: currency?.toUpperCase()
97
+ };
110
98
  }
111
99
  function planEnrollmentData(properties) {
112
- var _a;
113
- const currency = readCurrency(properties);
114
- const items = readItems(properties);
115
- return {
116
- type: "plan_enrollment",
117
- plan_id: (_a = items == null ? void 0 : items[0]) == null ? void 0 : _a.item_id,
118
- amount: toMinorUnits(readValue(properties), currency),
119
- currency: currency == null ? void 0 : currency.toUpperCase(),
120
- contents: mapContents(items, currency)
121
- };
100
+ const currency = readCurrency(properties);
101
+ const items = readItems(properties);
102
+ return {
103
+ type: "plan_enrollment",
104
+ plan_id: items?.[0]?.item_id,
105
+ amount: toMinorUnits(readValue(properties), currency),
106
+ currency: currency?.toUpperCase(),
107
+ contents: mapContents(items, currency)
108
+ };
122
109
  }
110
+ /** Map an internal track event onto an OpenAI standard (or custom) conversion event. */
123
111
  function mapOAIEvent(name, properties) {
124
- switch (name) {
125
- case "page_view":
126
- return { type: "page_viewed", data: contentsData(properties) };
127
- case "view_item":
128
- case "view_item_list":
129
- return { type: "contents_viewed", data: contentsData(properties) };
130
- case "begin_checkout":
131
- return { type: "checkout_started", data: contentsData(properties) };
132
- case "add_to_cart":
133
- return { type: "items_added", data: contentsData(properties) };
134
- case "purchase":
135
- return { type: "order_created", data: contentsData(properties) };
136
- case "generate_lead":
137
- case "qualify_lead":
138
- return { type: "lead_created", data: customerActionData(properties) };
139
- case "sign_up":
140
- case "login":
141
- return { type: "registration_completed", data: customerActionData(properties) };
142
- case "schedule":
143
- return { type: "appointment_scheduled", data: customerActionData(properties) };
144
- case "subscribe":
145
- return { type: "subscription_created", data: planEnrollmentData(properties) };
146
- case "trial_begin":
147
- return { type: "trial_started", data: planEnrollmentData(properties) };
148
- default: {
149
- const currency = readCurrency(properties);
150
- return {
151
- type: "custom",
152
- data: {
153
- type: "custom",
154
- amount: toMinorUnits(readValue(properties), currency),
155
- currency: currency == null ? void 0 : currency.toUpperCase(),
156
- contents: mapContents(readItems(properties), currency)
157
- }
158
- };
159
- }
160
- }
112
+ switch (name) {
113
+ case "page_view": return {
114
+ type: "page_viewed",
115
+ data: contentsData(properties)
116
+ };
117
+ case "view_item":
118
+ case "view_item_list": return {
119
+ type: "contents_viewed",
120
+ data: contentsData(properties)
121
+ };
122
+ case "begin_checkout": return {
123
+ type: "checkout_started",
124
+ data: contentsData(properties)
125
+ };
126
+ case "add_to_cart": return {
127
+ type: "items_added",
128
+ data: contentsData(properties)
129
+ };
130
+ case "purchase": return {
131
+ type: "order_created",
132
+ data: contentsData(properties)
133
+ };
134
+ case "generate_lead":
135
+ case "qualify_lead": return {
136
+ type: "lead_created",
137
+ data: customerActionData(properties)
138
+ };
139
+ case "sign_up":
140
+ case "login": return {
141
+ type: "registration_completed",
142
+ data: customerActionData(properties)
143
+ };
144
+ case "schedule": return {
145
+ type: "appointment_scheduled",
146
+ data: customerActionData(properties)
147
+ };
148
+ case "subscribe": return {
149
+ type: "subscription_created",
150
+ data: planEnrollmentData(properties)
151
+ };
152
+ case "trial_begin": return {
153
+ type: "trial_started",
154
+ data: planEnrollmentData(properties)
155
+ };
156
+ default: {
157
+ const currency = readCurrency(properties);
158
+ return {
159
+ type: "custom",
160
+ data: {
161
+ type: "custom",
162
+ amount: toMinorUnits(readValue(properties), currency),
163
+ currency: currency?.toUpperCase(),
164
+ contents: mapContents(readItems(properties), currency)
165
+ }
166
+ };
167
+ }
168
+ }
161
169
  }
162
- // Annotate the CommonJS export names for ESM import in node:
163
- 0 && (module.exports = {
164
- NON_AD_EVENTS,
165
- mapContents,
166
- mapOAIEvent,
167
- toMinorUnits
168
- });
170
+ //#endregion
171
+ exports.NON_AD_EVENTS = NON_AD_EVENTS;
172
+ exports.mapContents = mapContents;
173
+ exports.mapOAIEvent = mapOAIEvent;
174
+ exports.toMinorUnits = toMinorUnits;
175
+
169
176
  //# sourceMappingURL=oaiq.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/track/oaiq.ts"],"sourcesContent":["import type { Item } from './gtag';\nimport type { EventName, TrackName, TrackProperties } from './types';\n\nexport const NON_AD_EVENTS = [\n // metrics\n 'CLS',\n 'FCP',\n 'FID',\n 'INP',\n 'LCP',\n 'TTFB',\n // promotions\n 'view_promotion',\n 'select_promotion',\n];\n\n/**\n * Content item shared by `contents` and `plan_enrollment` events.\n * https://developers.openai.com/ads/supported-events\n */\nexport type ContentItem = {\n id?: string;\n name?: string;\n content_type?: string;\n quantity?: number;\n /** Per-item monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */\n amount?: number;\n currency?: string;\n};\n\nexport type ContentsData = {\n type: 'contents';\n /** Monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */\n amount?: number;\n currency?: string;\n contents?: ContentItem[];\n};\n\nexport type CustomerActionData = {\n type: 'customer_action';\n amount?: number;\n currency?: string;\n};\n\nexport type PlanEnrollmentData = {\n type: 'plan_enrollment';\n plan_id?: string;\n amount?: number;\n currency?: string;\n contents?: ContentItem[];\n};\n\nexport type CustomEventData = {\n type: 'custom';\n amount?: number;\n currency?: string;\n contents?: ContentItem[];\n};\n\nexport type EventData = ContentsData | CustomerActionData | PlanEnrollmentData | CustomEventData;\n\n/**\n * Standard event names and the `data` shape each one expects.\n * https://developers.openai.com/ads/supported-events\n */\nexport type StandardEvents = {\n appointment_scheduled: CustomerActionData;\n checkout_started: ContentsData;\n contents_viewed: ContentsData;\n items_added: ContentsData;\n lead_created: CustomerActionData;\n order_created: ContentsData;\n page_viewed: ContentsData;\n registration_completed: CustomerActionData;\n subscription_created: PlanEnrollmentData;\n trial_started: PlanEnrollmentData;\n};\n\nexport type StandardEvent = keyof StandardEvents;\n\n/**\n * Identity fields passed to `oaiq(\"init\", ...)` for conversion matching. Email and external id\n * must be pre-hashed as lowercase 64-char SHA-256 hex strings; the rest are sent as raw values.\n * https://developers.openai.com/ads/measurement-pixel\n */\nexport type OAIQUser = {\n email_sha256?: string;\n external_id_sha256?: string;\n /** Two-letter ISO 3166-1 country code (e.g. \"US\"). */\n country?: string;\n /** Lowercased, max 128 characters. */\n city?: string;\n /** Max 32 characters. */\n zip_code?: string;\n};\n\nexport type InitConfig = {\n pixelId: string;\n /** Log SDK activity to the browser console. */\n debug?: boolean;\n user?: OAIQUser;\n};\n\n/**\n * Fourth argument of `oaiq(\"measure\", ...)`. Required for custom events (carries\n * `custom_event_name`); optional for standard events.\n */\nexport type MeasureOptions = {\n /** Shared with the Conversions API to deduplicate the same conversion across browser and server. */\n event_id?: string;\n /** Required for custom events; 1-64 chars of letters, numbers, underscores, or dashes. */\n custom_event_name?: string;\n /** When true, opts the event out of user-level personalization. */\n opt_out?: boolean;\n};\n\nexport interface OAIQ {\n oaiq(command: 'init', config: InitConfig): void;\n oaiq<T extends StandardEvent>(\n command: 'measure',\n event: T,\n data: StandardEvents[T],\n options?: MeasureOptions\n ): void;\n oaiq(\n command: 'measure',\n event: 'custom',\n data: CustomEventData,\n options: MeasureOptions & { custom_event_name: string }\n ): void;\n}\n\n/**\n * Currencies whose minor unit has 0 or 3 decimal places; everything else uses 2.\n * Follows Stripe's zero-decimal convention (e.g., MGA is treated as 0, ISK is included),\n * which can differ from strict ISO 4217 exponents.\n * https://docs.stripe.com/currencies#zero-decimal\n */\nconst ZERO_DECIMAL_CURRENCIES = new Set([\n 'BIF',\n 'CLP',\n 'DJF',\n 'GNF',\n 'ISK',\n 'JPY',\n 'KMF',\n 'KRW',\n 'MGA',\n 'PYG',\n 'RWF',\n 'UGX',\n 'VND',\n 'VUV',\n 'XAF',\n 'XOF',\n 'XPF',\n]);\nconst THREE_DECIMAL_CURRENCIES = new Set(['BHD', 'IQD', 'JOD', 'KWD', 'LYD', 'OMR', 'TND']);\n\n/** Convert a major-unit amount (e.g., 129.99) into ISO 4217 minor units (e.g., 12,999). */\nexport function toMinorUnits(value?: number, currency?: string): number | undefined {\n if (value === undefined || value === null || Number.isNaN(value)) return undefined;\n const code = currency?.toUpperCase();\n const exponent =\n code && ZERO_DECIMAL_CURRENCIES.has(code)\n ? 0\n : code && THREE_DECIMAL_CURRENCIES.has(code)\n ? 3\n : 2;\n return Math.round(value * 10 ** exponent);\n}\n\nexport function mapContents(items?: Item[], currency?: string): ContentItem[] | undefined {\n if (!items || items.length === 0) return undefined;\n const code = currency?.toUpperCase();\n return items.map((item) => ({\n id: item.item_id,\n name: item.item_name,\n content_type: item.item_category,\n quantity: item.quantity,\n amount: toMinorUnits(item.price, currency),\n currency: item.price !== undefined ? code : undefined,\n }));\n}\n\n/** Safely read a property off loosely typed track properties without widening to `any`. */\nfunction prop(properties: unknown, key: string): unknown {\n return typeof properties === 'object' && properties !== null\n ? (properties as Record<string, unknown>)[key]\n : undefined;\n}\n\nfunction readValue(properties: unknown): number | undefined {\n const value = prop(properties, 'value');\n return typeof value === 'number' ? value : undefined;\n}\n\nfunction readCurrency(properties: unknown): string | undefined {\n const currency = prop(properties, 'currency');\n return typeof currency === 'string' ? currency : undefined;\n}\n\nfunction readItems(properties: unknown): Item[] | undefined {\n const items = prop(properties, 'items');\n return Array.isArray(items) ? (items as Item[]) : undefined;\n}\n\nfunction contentsData(properties: unknown): ContentsData {\n const currency = readCurrency(properties);\n return {\n type: 'contents',\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n contents: mapContents(readItems(properties), currency),\n };\n}\n\nfunction customerActionData(properties: unknown): CustomerActionData {\n const currency = readCurrency(properties);\n return {\n type: 'customer_action',\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n };\n}\n\nfunction planEnrollmentData(properties: unknown): PlanEnrollmentData {\n const currency = readCurrency(properties);\n const items = readItems(properties);\n return {\n type: 'plan_enrollment',\n plan_id: items?.[0]?.item_id,\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n contents: mapContents(items, currency),\n };\n}\n\nexport type MappedOAIEvent = {\n type: StandardEvent | 'custom';\n data: EventData;\n};\n\n/** Map an internal track event onto an OpenAI standard (or custom) conversion event. */\nexport function mapOAIEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>\n): MappedOAIEvent {\n switch (name) {\n case 'page_view':\n return { type: 'page_viewed', data: contentsData(properties) };\n case 'view_item':\n case 'view_item_list':\n return { type: 'contents_viewed', data: contentsData(properties) };\n case 'begin_checkout':\n return { type: 'checkout_started', data: contentsData(properties) };\n case 'add_to_cart':\n return { type: 'items_added', data: contentsData(properties) };\n case 'purchase':\n return { type: 'order_created', data: contentsData(properties) };\n case 'generate_lead':\n case 'qualify_lead':\n return { type: 'lead_created', data: customerActionData(properties) };\n case 'sign_up':\n case 'login':\n return { type: 'registration_completed', data: customerActionData(properties) };\n case 'schedule':\n return { type: 'appointment_scheduled', data: customerActionData(properties) };\n case 'subscribe':\n return { type: 'subscription_created', data: planEnrollmentData(properties) };\n case 'trial_begin':\n return { type: 'trial_started', data: planEnrollmentData(properties) };\n default: {\n const currency = readCurrency(properties);\n return {\n type: 'custom',\n data: {\n type: 'custom',\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n contents: mapContents(readItems(properties), currency),\n },\n };\n }\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"oaiq.cjs","names":[],"sources":["../../src/track/oaiq.ts"],"sourcesContent":["import type { Item } from './gtag';\nimport type { EventName, TrackName, TrackProperties } from './types';\n\nexport const NON_AD_EVENTS = [\n // metrics\n 'CLS',\n 'FCP',\n 'FID',\n 'INP',\n 'LCP',\n 'TTFB',\n // promotions\n 'view_promotion',\n 'select_promotion',\n];\n\n/**\n * Content item shared by `contents` and `plan_enrollment` events.\n * https://developers.openai.com/ads/supported-events\n */\nexport type ContentItem = {\n id?: string;\n name?: string;\n content_type?: string;\n quantity?: number;\n /** Per-item monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */\n amount?: number;\n currency?: string;\n};\n\nexport type ContentsData = {\n type: 'contents';\n /** Monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */\n amount?: number;\n currency?: string;\n contents?: ContentItem[];\n};\n\nexport type CustomerActionData = {\n type: 'customer_action';\n amount?: number;\n currency?: string;\n};\n\nexport type PlanEnrollmentData = {\n type: 'plan_enrollment';\n plan_id?: string;\n amount?: number;\n currency?: string;\n contents?: ContentItem[];\n};\n\nexport type CustomEventData = {\n type: 'custom';\n amount?: number;\n currency?: string;\n contents?: ContentItem[];\n};\n\nexport type EventData = ContentsData | CustomerActionData | PlanEnrollmentData | CustomEventData;\n\n/**\n * Standard event names and the `data` shape each one expects.\n * https://developers.openai.com/ads/supported-events\n */\nexport type StandardEvents = {\n appointment_scheduled: CustomerActionData;\n checkout_started: ContentsData;\n contents_viewed: ContentsData;\n items_added: ContentsData;\n lead_created: CustomerActionData;\n order_created: ContentsData;\n page_viewed: ContentsData;\n registration_completed: CustomerActionData;\n subscription_created: PlanEnrollmentData;\n trial_started: PlanEnrollmentData;\n};\n\nexport type StandardEvent = keyof StandardEvents;\n\n/**\n * Identity fields passed to `oaiq(\"init\", ...)` for conversion matching. Email and external id\n * must be pre-hashed as lowercase 64-char SHA-256 hex strings; the rest are sent as raw values.\n * https://developers.openai.com/ads/measurement-pixel\n */\nexport type OAIQUser = {\n email_sha256?: string;\n external_id_sha256?: string;\n /** Two-letter ISO 3166-1 country code (e.g. \"US\"). */\n country?: string;\n /** Lowercased, max 128 characters. */\n city?: string;\n /** Max 32 characters. */\n zip_code?: string;\n};\n\nexport type InitConfig = {\n pixelId: string;\n /** Log SDK activity to the browser console. */\n debug?: boolean;\n user?: OAIQUser;\n};\n\n/**\n * Fourth argument of `oaiq(\"measure\", ...)`. Required for custom events (carries\n * `custom_event_name`); optional for standard events.\n */\nexport type MeasureOptions = {\n /** Shared with the Conversions API to deduplicate the same conversion across browser and server. */\n event_id?: string;\n /** Required for custom events; 1-64 chars of letters, numbers, underscores, or dashes. */\n custom_event_name?: string;\n /** When true, opts the event out of user-level personalization. */\n opt_out?: boolean;\n};\n\nexport interface OAIQ {\n oaiq(command: 'init', config: InitConfig): void;\n oaiq<T extends StandardEvent>(\n command: 'measure',\n event: T,\n data: StandardEvents[T],\n options?: MeasureOptions\n ): void;\n oaiq(\n command: 'measure',\n event: 'custom',\n data: CustomEventData,\n options: MeasureOptions & { custom_event_name: string }\n ): void;\n}\n\n/**\n * Currencies whose minor unit has 0 or 3 decimal places; everything else uses 2.\n * Follows Stripe's zero-decimal convention (e.g., MGA is treated as 0, ISK is included),\n * which can differ from strict ISO 4217 exponents.\n * https://docs.stripe.com/currencies#zero-decimal\n */\nconst ZERO_DECIMAL_CURRENCIES = new Set([\n 'BIF',\n 'CLP',\n 'DJF',\n 'GNF',\n 'ISK',\n 'JPY',\n 'KMF',\n 'KRW',\n 'MGA',\n 'PYG',\n 'RWF',\n 'UGX',\n 'VND',\n 'VUV',\n 'XAF',\n 'XOF',\n 'XPF',\n]);\nconst THREE_DECIMAL_CURRENCIES = new Set(['BHD', 'IQD', 'JOD', 'KWD', 'LYD', 'OMR', 'TND']);\n\n/** Convert a major-unit amount (e.g., 129.99) into ISO 4217 minor units (e.g., 12,999). */\nexport function toMinorUnits(value?: number, currency?: string): number | undefined {\n if (value === undefined || value === null || Number.isNaN(value)) return undefined;\n const code = currency?.toUpperCase();\n const exponent =\n code && ZERO_DECIMAL_CURRENCIES.has(code)\n ? 0\n : code && THREE_DECIMAL_CURRENCIES.has(code)\n ? 3\n : 2;\n return Math.round(value * 10 ** exponent);\n}\n\nexport function mapContents(items?: Item[], currency?: string): ContentItem[] | undefined {\n if (!items || items.length === 0) return undefined;\n const code = currency?.toUpperCase();\n return items.map((item) => ({\n id: item.item_id,\n name: item.item_name,\n content_type: item.item_category,\n quantity: item.quantity,\n amount: toMinorUnits(item.price, currency),\n currency: item.price !== undefined ? code : undefined,\n }));\n}\n\n/** Safely read a property off loosely typed track properties without widening to `any`. */\nfunction prop(properties: unknown, key: string): unknown {\n return typeof properties === 'object' && properties !== null\n ? (properties as Record<string, unknown>)[key]\n : undefined;\n}\n\nfunction readValue(properties: unknown): number | undefined {\n const value = prop(properties, 'value');\n return typeof value === 'number' ? value : undefined;\n}\n\nfunction readCurrency(properties: unknown): string | undefined {\n const currency = prop(properties, 'currency');\n return typeof currency === 'string' ? currency : undefined;\n}\n\nfunction readItems(properties: unknown): Item[] | undefined {\n const items = prop(properties, 'items');\n return Array.isArray(items) ? (items as Item[]) : undefined;\n}\n\nfunction contentsData(properties: unknown): ContentsData {\n const currency = readCurrency(properties);\n return {\n type: 'contents',\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n contents: mapContents(readItems(properties), currency),\n };\n}\n\nfunction customerActionData(properties: unknown): CustomerActionData {\n const currency = readCurrency(properties);\n return {\n type: 'customer_action',\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n };\n}\n\nfunction planEnrollmentData(properties: unknown): PlanEnrollmentData {\n const currency = readCurrency(properties);\n const items = readItems(properties);\n return {\n type: 'plan_enrollment',\n plan_id: items?.[0]?.item_id,\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n contents: mapContents(items, currency),\n };\n}\n\nexport type MappedOAIEvent = {\n type: StandardEvent | 'custom';\n data: EventData;\n};\n\n/** Map an internal track event onto an OpenAI standard (or custom) conversion event. */\nexport function mapOAIEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>\n): MappedOAIEvent {\n switch (name) {\n case 'page_view':\n return { type: 'page_viewed', data: contentsData(properties) };\n case 'view_item':\n case 'view_item_list':\n return { type: 'contents_viewed', data: contentsData(properties) };\n case 'begin_checkout':\n return { type: 'checkout_started', data: contentsData(properties) };\n case 'add_to_cart':\n return { type: 'items_added', data: contentsData(properties) };\n case 'purchase':\n return { type: 'order_created', data: contentsData(properties) };\n case 'generate_lead':\n case 'qualify_lead':\n return { type: 'lead_created', data: customerActionData(properties) };\n case 'sign_up':\n case 'login':\n return { type: 'registration_completed', data: customerActionData(properties) };\n case 'schedule':\n return { type: 'appointment_scheduled', data: customerActionData(properties) };\n case 'subscribe':\n return { type: 'subscription_created', data: planEnrollmentData(properties) };\n case 'trial_begin':\n return { type: 'trial_started', data: planEnrollmentData(properties) };\n default: {\n const currency = readCurrency(properties);\n return {\n type: 'custom',\n data: {\n type: 'custom',\n amount: toMinorUnits(readValue(properties), currency),\n currency: currency?.toUpperCase(),\n contents: mapContents(readItems(properties), currency),\n },\n };\n }\n }\n}\n"],"mappings":"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"}
@@ -1,44 +1,44 @@
1
- import { Item } from './gtag.cjs';
2
- import { EventName, TrackName, TrackProperties } from './types.cjs';
3
-
1
+ import { Item } from "./gtag.cjs";
2
+ import { EventName, TrackName, TrackProperties } from "./types.cjs";
3
+ //#region src/track/oaiq.d.ts
4
4
  declare const NON_AD_EVENTS: string[];
5
5
  /**
6
6
  * Content item shared by `contents` and `plan_enrollment` events.
7
7
  * https://developers.openai.com/ads/supported-events
8
8
  */
9
9
  type ContentItem = {
10
- id?: string;
11
- name?: string;
12
- content_type?: string;
13
- quantity?: number;
14
- /** Per-item monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */
15
- amount?: number;
16
- currency?: string;
10
+ id?: string;
11
+ name?: string;
12
+ content_type?: string;
13
+ quantity?: number;
14
+ /** Per-item monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */
15
+ amount?: number;
16
+ currency?: string;
17
17
  };
18
18
  type ContentsData = {
19
- type: 'contents';
20
- /** Monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */
21
- amount?: number;
22
- currency?: string;
23
- contents?: ContentItem[];
19
+ type: 'contents';
20
+ /** Monetary value in ISO 4217 minor units (e.g., 12,999 = $129.99 USD). */
21
+ amount?: number;
22
+ currency?: string;
23
+ contents?: ContentItem[];
24
24
  };
25
25
  type CustomerActionData = {
26
- type: 'customer_action';
27
- amount?: number;
28
- currency?: string;
26
+ type: 'customer_action';
27
+ amount?: number;
28
+ currency?: string;
29
29
  };
30
30
  type PlanEnrollmentData = {
31
- type: 'plan_enrollment';
32
- plan_id?: string;
33
- amount?: number;
34
- currency?: string;
35
- contents?: ContentItem[];
31
+ type: 'plan_enrollment';
32
+ plan_id?: string;
33
+ amount?: number;
34
+ currency?: string;
35
+ contents?: ContentItem[];
36
36
  };
37
37
  type CustomEventData = {
38
- type: 'custom';
39
- amount?: number;
40
- currency?: string;
41
- contents?: ContentItem[];
38
+ type: 'custom';
39
+ amount?: number;
40
+ currency?: string;
41
+ contents?: ContentItem[];
42
42
  };
43
43
  type EventData = ContentsData | CustomerActionData | PlanEnrollmentData | CustomEventData;
44
44
  /**
@@ -46,16 +46,16 @@ type EventData = ContentsData | CustomerActionData | PlanEnrollmentData | Custom
46
46
  * https://developers.openai.com/ads/supported-events
47
47
  */
48
48
  type StandardEvents = {
49
- appointment_scheduled: CustomerActionData;
50
- checkout_started: ContentsData;
51
- contents_viewed: ContentsData;
52
- items_added: ContentsData;
53
- lead_created: CustomerActionData;
54
- order_created: ContentsData;
55
- page_viewed: ContentsData;
56
- registration_completed: CustomerActionData;
57
- subscription_created: PlanEnrollmentData;
58
- trial_started: PlanEnrollmentData;
49
+ appointment_scheduled: CustomerActionData;
50
+ checkout_started: ContentsData;
51
+ contents_viewed: ContentsData;
52
+ items_added: ContentsData;
53
+ lead_created: CustomerActionData;
54
+ order_created: ContentsData;
55
+ page_viewed: ContentsData;
56
+ registration_completed: CustomerActionData;
57
+ subscription_created: PlanEnrollmentData;
58
+ trial_started: PlanEnrollmentData;
59
59
  };
60
60
  type StandardEvent = keyof StandardEvents;
61
61
  /**
@@ -64,48 +64,49 @@ type StandardEvent = keyof StandardEvents;
64
64
  * https://developers.openai.com/ads/measurement-pixel
65
65
  */
66
66
  type OAIQUser = {
67
- email_sha256?: string;
68
- external_id_sha256?: string;
69
- /** Two-letter ISO 3166-1 country code (e.g. "US"). */
70
- country?: string;
71
- /** Lowercased, max 128 characters. */
72
- city?: string;
73
- /** Max 32 characters. */
74
- zip_code?: string;
67
+ email_sha256?: string;
68
+ external_id_sha256?: string;
69
+ /** Two-letter ISO 3166-1 country code (e.g. "US"). */
70
+ country?: string;
71
+ /** Lowercased, max 128 characters. */
72
+ city?: string;
73
+ /** Max 32 characters. */
74
+ zip_code?: string;
75
75
  };
76
76
  type InitConfig = {
77
- pixelId: string;
78
- /** Log SDK activity to the browser console. */
79
- debug?: boolean;
80
- user?: OAIQUser;
77
+ pixelId: string;
78
+ /** Log SDK activity to the browser console. */
79
+ debug?: boolean;
80
+ user?: OAIQUser;
81
81
  };
82
82
  /**
83
83
  * Fourth argument of `oaiq("measure", ...)`. Required for custom events (carries
84
84
  * `custom_event_name`); optional for standard events.
85
85
  */
86
86
  type MeasureOptions = {
87
- /** Shared with the Conversions API to deduplicate the same conversion across browser and server. */
88
- event_id?: string;
89
- /** Required for custom events; 1-64 chars of letters, numbers, underscores, or dashes. */
90
- custom_event_name?: string;
91
- /** When true, opts the event out of user-level personalization. */
92
- opt_out?: boolean;
87
+ /** Shared with the Conversions API to deduplicate the same conversion across browser and server. */
88
+ event_id?: string;
89
+ /** Required for custom events; 1-64 chars of letters, numbers, underscores, or dashes. */
90
+ custom_event_name?: string;
91
+ /** When true, opts the event out of user-level personalization. */
92
+ opt_out?: boolean;
93
93
  };
94
94
  interface OAIQ {
95
- oaiq(command: 'init', config: InitConfig): void;
96
- oaiq<T extends StandardEvent>(command: 'measure', event: T, data: StandardEvents[T], options?: MeasureOptions): void;
97
- oaiq(command: 'measure', event: 'custom', data: CustomEventData, options: MeasureOptions & {
98
- custom_event_name: string;
99
- }): void;
95
+ oaiq(command: 'init', config: InitConfig): void;
96
+ oaiq<T extends StandardEvent>(command: 'measure', event: T, data: StandardEvents[T], options?: MeasureOptions): void;
97
+ oaiq(command: 'measure', event: 'custom', data: CustomEventData, options: MeasureOptions & {
98
+ custom_event_name: string;
99
+ }): void;
100
100
  }
101
101
  /** Convert a major-unit amount (e.g., 129.99) into ISO 4217 minor units (e.g., 12,999). */
102
102
  declare function toMinorUnits(value?: number, currency?: string): number | undefined;
103
103
  declare function mapContents(items?: Item[], currency?: string): ContentItem[] | undefined;
104
104
  type MappedOAIEvent = {
105
- type: StandardEvent | 'custom';
106
- data: EventData;
105
+ type: StandardEvent | 'custom';
106
+ data: EventData;
107
107
  };
108
108
  /** Map an internal track event onto an OpenAI standard (or custom) conversion event. */
109
109
  declare function mapOAIEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>): MappedOAIEvent;
110
-
111
- export { type ContentItem, type ContentsData, type CustomEventData, type CustomerActionData, type EventData, type InitConfig, type MappedOAIEvent, type MeasureOptions, NON_AD_EVENTS, type OAIQ, type OAIQUser, type PlanEnrollmentData, type StandardEvent, type StandardEvents, mapContents, mapOAIEvent, toMinorUnits };
110
+ //#endregion
111
+ export { ContentItem, ContentsData, CustomEventData, CustomerActionData, EventData, InitConfig, MappedOAIEvent, MeasureOptions, NON_AD_EVENTS, OAIQ, OAIQUser, PlanEnrollmentData, StandardEvent, StandardEvents, mapContents, mapOAIEvent, toMinorUnits };
112
+ //# sourceMappingURL=oaiq.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oaiq.d.cts","names":[],"sources":["../../src/track/oaiq.ts"],"mappings":";;;cAGa;;;;;KAiBD;EACV;EACA;EACA;EACA;;EAEA;EACA;;KAGU;EACV;;EAEA;EACA;EACA,WAAW;;KAGD;EACV;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA,WAAW;;KAGD;EACV;EACA;EACA;EACA,WAAW;;KAGD,YAAY,eAAe,qBAAqB,qBAAqB;;;;;KAMrE;EACV,uBAAuB;EACvB,kBAAkB;EAClB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,eAAe;EACf,aAAa;EACb,wBAAwB;EACxB,sBAAsB;EACtB,eAAe;;KAGL,sBAAsB;;;;;;KAOtB;EACV;EACA;;EAEA;;EAEA;;EAEA;;KAGU;EACV;;EAEA;EACA,OAAO;;;;;;KAOG;;EAEV;;EAEA;;EAEA;;UAGe;EACf,KAAK,iBAAiB,QAAQ;EAC9B,KAAK,UAAU,eACb,oBACA,OAAO,GACP,MAAM,eAAe,IACrB,UAAU;EAEZ,KACE,oBACA,iBACA,MAAM,iBACN,SAAS;IAAmB;;;;iBAgChB,aAAa,gBAAgB;iBAY7B,YAAY,QAAQ,QAAQ,oBAAoB;KAkEpD;EACV,MAAM;EACN,MAAM;;;iBAIQ,YAAY,UAAU,WACpC,MAAM,UAAU,IAChB,aAAa,gBAAgB,KAC5B"}