@zoho_apptics/apptics-js-sdk 2.0.0-beta → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/CHANGELOG.md +111 -5
  2. package/README.md +399 -300
  3. package/dist/apptics.esm.min.js +2 -2
  4. package/dist/apptics.esm.min.js.map +1 -1
  5. package/dist/apptics.min.js +2 -2
  6. package/dist/apptics.min.js.map +1 -1
  7. package/dist/chunks/lifecycle-VYr43KcB.min.js +3 -0
  8. package/dist/chunks/lifecycle-VYr43KcB.min.js.map +1 -0
  9. package/dist/cjs/auto-init.d.ts +3 -3
  10. package/dist/cjs/auto-init.js +1 -1
  11. package/dist/cjs/core/attempts.js +1 -1
  12. package/dist/cjs/core/batch.js +2 -1
  13. package/dist/cjs/core/callsite.d.ts +6 -0
  14. package/dist/cjs/core/callsite.js +25 -3
  15. package/dist/cjs/core/consent.d.ts +5 -1
  16. package/dist/cjs/core/consent.js +8 -6
  17. package/dist/cjs/core/constants.d.ts +35 -10
  18. package/dist/cjs/core/constants.js +31 -15
  19. package/dist/cjs/core/db.d.ts +12 -4
  20. package/dist/cjs/core/db.js +167 -34
  21. package/dist/cjs/core/debug.js +1 -1
  22. package/dist/cjs/core/env.js +1 -1
  23. package/dist/cjs/core/framework-id.d.ts +1 -1
  24. package/dist/cjs/core/framework-id.js +3 -3
  25. package/dist/cjs/core/guard.d.ts +9 -0
  26. package/dist/cjs/core/guard.js +27 -13
  27. package/dist/cjs/core/hooks.d.ts +2 -4
  28. package/dist/cjs/core/hooks.js +2 -3
  29. package/dist/cjs/core/locks.d.ts +9 -0
  30. package/dist/cjs/core/locks.js +22 -0
  31. package/dist/cjs/core/logger.d.ts +3 -4
  32. package/dist/cjs/core/logger.js +4 -40
  33. package/dist/cjs/core/state.d.ts +3 -2
  34. package/dist/cjs/core/state.js +2 -2
  35. package/dist/cjs/core/storage.d.ts +20 -5
  36. package/dist/cjs/core/storage.js +115 -17
  37. package/dist/cjs/core/stylesheet.d.ts +8 -0
  38. package/dist/cjs/core/stylesheet.js +29 -0
  39. package/dist/cjs/core/transport.d.ts +2 -0
  40. package/dist/cjs/core/transport.js +19 -4
  41. package/dist/cjs/core/utils.js +1 -1
  42. package/dist/cjs/core/validate.js +2 -2
  43. package/dist/cjs/device/appversion.d.ts +1 -6
  44. package/dist/cjs/device/appversion.js +13 -1
  45. package/dist/cjs/device/index.d.ts +11 -0
  46. package/dist/cjs/device/index.js +120 -20
  47. package/dist/cjs/engagement/api-rules.d.ts +32 -67
  48. package/dist/cjs/engagement/api-rules.js +144 -157
  49. package/dist/cjs/engagement/auto-api.js +2 -2
  50. package/dist/cjs/engagement/auto-screen.d.ts +2 -0
  51. package/dist/cjs/engagement/auto-screen.js +67 -3
  52. package/dist/cjs/engagement/defined-events.js +1 -1
  53. package/dist/cjs/engagement/send.js +6 -1
  54. package/dist/cjs/engagement/session.d.ts +12 -3
  55. package/dist/cjs/engagement/session.js +161 -25
  56. package/dist/cjs/engagement/track.js +45 -20
  57. package/dist/cjs/errors/send.js +1 -1
  58. package/dist/cjs/errors/track.d.ts +1 -1
  59. package/dist/cjs/errors/track.js +46 -6
  60. package/dist/cjs/feedback/controls.d.ts +6 -0
  61. package/dist/cjs/feedback/controls.js +31 -1
  62. package/dist/cjs/feedback/index.d.ts +8 -7
  63. package/dist/cjs/feedback/index.js +32 -13
  64. package/dist/cjs/feedback/logs.d.ts +10 -5
  65. package/dist/cjs/feedback/logs.js +52 -13
  66. package/dist/cjs/feedback/quartz.d.ts +18 -0
  67. package/dist/cjs/feedback/quartz.js +105 -0
  68. package/dist/cjs/feedback/send.d.ts +3 -0
  69. package/dist/cjs/feedback/send.js +28 -3
  70. package/dist/cjs/feedback/styles.d.ts +10 -0
  71. package/dist/cjs/feedback/styles.js +8 -0
  72. package/dist/cjs/feedback/template.d.ts +1 -1
  73. package/dist/cjs/feedback/template.js +12 -12
  74. package/dist/cjs/feedback/ui.d.ts +14 -6
  75. package/dist/cjs/feedback/ui.js +126 -48
  76. package/dist/cjs/heatmap/send.js +1 -1
  77. package/dist/cjs/heatmap/track.d.ts +1 -1
  78. package/dist/cjs/heatmap/track.js +87 -16
  79. package/dist/cjs/index.d.ts +17 -63
  80. package/dist/cjs/index.js +104 -92
  81. package/dist/cjs/lifecycle.d.ts +8 -1
  82. package/dist/cjs/lifecycle.js +258 -62
  83. package/dist/cjs/remoteconfig/country.d.ts +4 -0
  84. package/dist/cjs/remoteconfig/country.js +73 -0
  85. package/dist/cjs/remoteconfig/custom.d.ts +7 -7
  86. package/dist/cjs/remoteconfig/custom.js +31 -51
  87. package/dist/cjs/remoteconfig/evaluate.d.ts +3 -3
  88. package/dist/cjs/remoteconfig/evaluate.js +56 -43
  89. package/dist/cjs/remoteconfig/fetch.d.ts +3 -3
  90. package/dist/cjs/remoteconfig/fetch.js +9 -23
  91. package/dist/cjs/remoteconfig/index.d.ts +10 -8
  92. package/dist/cjs/remoteconfig/index.js +65 -39
  93. package/dist/cjs/remoteconfig/store.js +1 -1
  94. package/dist/cjs/remoteconfig/tz-countries.d.ts +8 -0
  95. package/dist/cjs/remoteconfig/tz-countries.js +13 -0
  96. package/dist/cjs/remotelog/gate.d.ts +2 -11
  97. package/dist/cjs/remotelog/gate.js +9 -35
  98. package/dist/cjs/remotelog/index.d.ts +4 -21
  99. package/dist/cjs/remotelog/logger.d.ts +11 -17
  100. package/dist/cjs/remotelog/logger.js +30 -58
  101. package/dist/cjs/remotelog/send.js +10 -10
  102. package/dist/cjs/remotelogger/index.d.ts +12 -0
  103. package/dist/cjs/remotelogger/index.js +18 -0
  104. package/dist/cjs/scheduler.js +2 -2
  105. package/dist/cjs/types.d.ts +155 -82
  106. package/dist/cjs/user/index.js +11 -6
  107. package/dist/esm/auto-init.d.ts +3 -3
  108. package/dist/esm/auto-init.js +1 -1
  109. package/dist/esm/core/attempts.js +1 -1
  110. package/dist/esm/core/batch.js +2 -1
  111. package/dist/esm/core/callsite.d.ts +6 -0
  112. package/dist/esm/core/callsite.js +25 -4
  113. package/dist/esm/core/consent.d.ts +5 -1
  114. package/dist/esm/core/consent.js +9 -7
  115. package/dist/esm/core/constants.d.ts +35 -10
  116. package/dist/esm/core/constants.js +30 -15
  117. package/dist/esm/core/db.d.ts +12 -4
  118. package/dist/esm/core/db.js +164 -35
  119. package/dist/esm/core/debug.js +1 -1
  120. package/dist/esm/core/env.js +1 -1
  121. package/dist/esm/core/framework-id.d.ts +1 -1
  122. package/dist/esm/core/framework-id.js +3 -3
  123. package/dist/esm/core/guard.d.ts +9 -0
  124. package/dist/esm/core/guard.js +27 -14
  125. package/dist/esm/core/hooks.d.ts +2 -4
  126. package/dist/esm/core/hooks.js +2 -3
  127. package/dist/esm/core/locks.d.ts +9 -0
  128. package/dist/esm/core/locks.js +20 -0
  129. package/dist/esm/core/logger.d.ts +3 -4
  130. package/dist/esm/core/logger.js +4 -40
  131. package/dist/esm/core/state.d.ts +3 -2
  132. package/dist/esm/core/state.js +2 -2
  133. package/dist/esm/core/storage.d.ts +20 -5
  134. package/dist/esm/core/storage.js +113 -18
  135. package/dist/esm/core/stylesheet.d.ts +8 -0
  136. package/dist/esm/core/stylesheet.js +27 -0
  137. package/dist/esm/core/transport.d.ts +2 -0
  138. package/dist/esm/core/transport.js +19 -5
  139. package/dist/esm/core/utils.js +1 -1
  140. package/dist/esm/core/validate.js +2 -2
  141. package/dist/esm/device/appversion.d.ts +1 -6
  142. package/dist/esm/device/appversion.js +13 -2
  143. package/dist/esm/device/index.d.ts +11 -0
  144. package/dist/esm/device/index.js +123 -24
  145. package/dist/esm/engagement/api-rules.d.ts +32 -67
  146. package/dist/esm/engagement/api-rules.js +143 -155
  147. package/dist/esm/engagement/auto-api.js +3 -3
  148. package/dist/esm/engagement/auto-screen.d.ts +2 -0
  149. package/dist/esm/engagement/auto-screen.js +67 -4
  150. package/dist/esm/engagement/defined-events.js +1 -1
  151. package/dist/esm/engagement/send.js +6 -1
  152. package/dist/esm/engagement/session.d.ts +12 -3
  153. package/dist/esm/engagement/session.js +162 -29
  154. package/dist/esm/engagement/track.js +52 -27
  155. package/dist/esm/errors/send.js +1 -1
  156. package/dist/esm/errors/track.d.ts +1 -1
  157. package/dist/esm/errors/track.js +46 -6
  158. package/dist/esm/feedback/controls.d.ts +6 -0
  159. package/dist/esm/feedback/controls.js +31 -2
  160. package/dist/esm/feedback/index.d.ts +8 -7
  161. package/dist/esm/feedback/index.js +34 -13
  162. package/dist/esm/feedback/logs.d.ts +10 -5
  163. package/dist/esm/feedback/logs.js +54 -15
  164. package/dist/esm/feedback/quartz.d.ts +18 -0
  165. package/dist/esm/feedback/quartz.js +99 -0
  166. package/dist/esm/feedback/send.d.ts +3 -0
  167. package/dist/esm/feedback/send.js +28 -5
  168. package/dist/esm/feedback/styles.d.ts +10 -0
  169. package/dist/esm/feedback/styles.js +4 -0
  170. package/dist/esm/feedback/template.d.ts +1 -1
  171. package/dist/esm/feedback/template.js +12 -12
  172. package/dist/esm/feedback/ui.d.ts +14 -6
  173. package/dist/esm/feedback/ui.js +126 -49
  174. package/dist/esm/heatmap/send.js +1 -1
  175. package/dist/esm/heatmap/track.d.ts +1 -1
  176. package/dist/esm/heatmap/track.js +87 -16
  177. package/dist/esm/index.d.ts +17 -63
  178. package/dist/esm/index.js +108 -80
  179. package/dist/esm/lifecycle.d.ts +8 -1
  180. package/dist/esm/lifecycle.js +266 -71
  181. package/dist/esm/remoteconfig/country.d.ts +4 -0
  182. package/dist/esm/remoteconfig/country.js +70 -0
  183. package/dist/esm/remoteconfig/custom.d.ts +7 -7
  184. package/dist/esm/remoteconfig/custom.js +32 -52
  185. package/dist/esm/remoteconfig/evaluate.d.ts +3 -3
  186. package/dist/esm/remoteconfig/evaluate.js +57 -44
  187. package/dist/esm/remoteconfig/fetch.d.ts +3 -3
  188. package/dist/esm/remoteconfig/fetch.js +9 -23
  189. package/dist/esm/remoteconfig/index.d.ts +10 -8
  190. package/dist/esm/remoteconfig/index.js +66 -40
  191. package/dist/esm/remoteconfig/store.js +1 -1
  192. package/dist/esm/remoteconfig/tz-countries.d.ts +8 -0
  193. package/dist/esm/remoteconfig/tz-countries.js +11 -0
  194. package/dist/esm/remotelog/gate.d.ts +2 -11
  195. package/dist/esm/remotelog/gate.js +10 -32
  196. package/dist/esm/remotelog/index.d.ts +4 -21
  197. package/dist/esm/remotelog/logger.d.ts +11 -17
  198. package/dist/esm/remotelog/logger.js +32 -60
  199. package/dist/esm/remotelog/send.js +12 -12
  200. package/dist/esm/remotelogger/index.d.ts +12 -0
  201. package/dist/esm/remotelogger/index.js +13 -0
  202. package/dist/esm/scheduler.js +2 -2
  203. package/dist/esm/types.d.ts +155 -82
  204. package/dist/esm/user/index.js +12 -6
  205. package/dist/feedback.esm.min.js +2 -2
  206. package/dist/feedback.esm.min.js.map +1 -1
  207. package/package.json +14 -16
  208. package/dist/chunks/batch-BU_mTpm1.min.js +0 -3
  209. package/dist/chunks/batch-BU_mTpm1.min.js.map +0 -1
  210. package/dist/chunks/logs-Bea5zUW_.min.js +0 -3
  211. package/dist/chunks/logs-Bea5zUW_.min.js.map +0 -1
  212. package/dist/cjs/heatmap/index.d.ts +0 -16
  213. package/dist/cjs/heatmap/index.js +0 -22
  214. package/dist/cjs/remotelog/index.js +0 -55
  215. package/dist/esm/heatmap/index.d.ts +0 -16
  216. package/dist/esm/heatmap/index.js +0 -17
  217. package/dist/esm/remotelog/index.js +0 -51
  218. package/dist/heatmap.esm.min.js +0 -3
  219. package/dist/heatmap.esm.min.js.map +0 -1
  220. package/dist/style.css +0 -1
@@ -0,0 +1,11 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ /**
3
+ * The country of every IANA time zone, by its ISO 3166 code: generated by
4
+ * scripts/tz-countries.mjs from tzdata 2026d-rearguard (zone.tab, and the old names its links keep).
5
+ * Do not edit by hand.
6
+ *
7
+ * Packed as "CC:Area/City,City|Area/City;CC:...": a country, then its zones grouped by area.
8
+ */
9
+ const TZ_COUNTRIES = 'AD:Europe/Andorra;AE:Asia/Dubai;AF:Asia/Kabul;AG:America/Antigua;AI:America/Anguilla;AL:Europe/Tirane;AM:Asia/Yerevan;AO:Africa/Luanda;AQ:Antarctica/Casey,Davis,DumontDUrville,Mawson,McMurdo,Palmer,Rothera,Syowa,Troll,Vostok;AR:America/Argentina/Buenos_Aires,Argentina/Catamarca,Argentina/ComodRivadavia,Argentina/Cordoba,Argentina/Jujuy,Argentina/La_Rioja,Argentina/Mendoza,Argentina/Rio_Gallegos,Argentina/Salta,Argentina/San_Juan,Argentina/San_Luis,Argentina/Tucuman,Argentina/Ushuaia,Buenos_Aires,Catamarca,Cordoba,Jujuy,Mendoza,Rosario;AS:Pacific/Pago_Pago,Samoa|US/Samoa;AT:Europe/Vienna;AU:Antarctica/Macquarie|Australia/ACT,Adelaide,Brisbane,Broken_Hill,Canberra,Currie,Darwin,Eucla,Hobart,LHI,Lindeman,Lord_Howe,Melbourne,NSW,North,Perth,Queensland,South,Sydney,Tasmania,Victoria,West,Yancowinna;AW:America/Aruba;AX:Europe/Mariehamn;AZ:Asia/Baku;BA:Europe/Sarajevo;BB:America/Barbados;BD:Asia/Dacca,Dhaka;BE:CET,MET|Europe/Brussels;BF:Africa/Ouagadougou;BG:Europe/Sofia;BH:Asia/Bahrain;BI:Africa/Bujumbura;BJ:Africa/Porto-Novo;BL:America/St_Barthelemy;BM:Atlantic/Bermuda;BN:Asia/Brunei;BO:America/La_Paz;BQ:America/Kralendijk;BR:America/Araguaina,Bahia,Belem,Boa_Vista,Campo_Grande,Cuiaba,Eirunepe,Fortaleza,Maceio,Manaus,Noronha,Porto_Acre,Porto_Velho,Recife,Rio_Branco,Santarem,Sao_Paulo|Brazil/Acre,DeNoronha,East,West;BS:America/Nassau;BT:Asia/Thimbu,Thimphu;BW:Africa/Gaborone;BY:Europe/Minsk;BZ:America/Belize;CA:America/Atikokan,Blanc-Sablon,Cambridge_Bay,Creston,Dawson,Dawson_Creek,Edmonton,Fort_Nelson,Glace_Bay,Goose_Bay,Halifax,Inuvik,Iqaluit,Moncton,Montreal,Nipigon,Pangnirtung,Rainy_River,Rankin_Inlet,Regina,Resolute,St_Johns,Swift_Current,Thunder_Bay,Toronto,Vancouver,Whitehorse,Winnipeg,Yellowknife|Canada/Atlantic,Central,Eastern,Mountain,Newfoundland,Pacific,Saskatchewan,Yukon;CC:Indian/Cocos;CD:Africa/Kinshasa,Lubumbashi;CF:Africa/Bangui;CG:Africa/Brazzaville;CH:Europe/Zurich;CI:Africa/Abidjan,Timbuktu|Iceland;CK:Pacific/Rarotonga;CL:America/Coyhaique,Punta_Arenas,Santiago|Chile/Continental,EasterIsland|Pacific/Easter;CM:Africa/Douala;CN:Asia/Chongqing,Chungking,Harbin,Kashgar,Shanghai,Urumqi|PRC;CO:America/Bogota;CR:America/Costa_Rica;CU:America/Havana|Cuba;CV:Atlantic/Cape_Verde;CW:America/Curacao;CX:Indian/Christmas;CY:Asia/Famagusta,Nicosia|Europe/Nicosia;CZ:Europe/Prague;DE:Atlantic/Jan_Mayen|Europe/Berlin,Busingen;DJ:Africa/Djibouti;DK:Europe/Copenhagen;DM:America/Dominica;DO:America/Santo_Domingo;DZ:Africa/Algiers;EC:America/Guayaquil|Pacific/Galapagos;EE:Europe/Tallinn;EG:Africa/Cairo|Egypt;EH:Africa/El_Aaiun;ER:Africa/Asmara;ES:Africa/Ceuta|Atlantic/Canary|Europe/Madrid;ET:Africa/Addis_Ababa;FI:Europe/Helsinki;FJ:Pacific/Fiji;FK:Atlantic/Stanley;FM:Pacific/Chuuk,Kosrae,Pohnpei;FO:Atlantic/Faeroe,Faroe;FR:Europe/Paris;GA:Africa/Libreville;GB:Europe/Belfast,London|GB,GB-Eire;GD:America/Grenada;GE:Asia/Tbilisi;GF:America/Cayenne;GG:Europe/Guernsey;GH:Africa/Accra;GI:Europe/Gibraltar;GL:America/Danmarkshavn,Godthab,Nuuk,Scoresbysund,Thule;GM:Africa/Banjul;GN:Africa/Conakry;GP:America/Guadeloupe;GQ:Africa/Malabo;GR:EET|Europe/Athens;GS:Atlantic/South_Georgia;GT:America/Guatemala;GU:Pacific/Guam;GW:Africa/Bissau;GY:America/Guyana;HK:Asia/Hong_Kong|Hongkong;HN:America/Tegucigalpa;HR:Europe/Zagreb;HT:America/Port-au-Prince;HU:Europe/Budapest;ID:Asia/Jakarta,Jayapura,Makassar,Pontianak,Ujung_Pandang;IE:Eire|Europe/Dublin;IL:Asia/Jerusalem,Tel_Aviv|Israel;IM:Europe/Isle_of_Man;IN:Asia/Calcutta,Kolkata;IO:Indian/Chagos;IQ:Asia/Baghdad;IR:Asia/Tehran|Iran;IS:Atlantic/Reykjavik;IT:Europe/Rome;JE:Europe/Jersey;JM:America/Jamaica|Jamaica;JO:Asia/Amman;JP:Asia/Tokyo|Japan;KE:Africa/Asmera,Nairobi;KG:Asia/Bishkek;KH:Asia/Phnom_Penh;KI:Pacific/Enderbury,Kanton,Kiritimati,Tarawa;KM:Indian/Comoro;KN:America/St_Kitts;KP:Asia/Pyongyang;KR:Asia/Seoul|ROK;KW:Asia/Kuwait;KY:America/Cayman;KZ:Asia/Almaty,Aqtau,Aqtobe,Atyrau,Oral,Qostanay,Qyzylorda;LA:Asia/Vientiane;LB:Asia/Beirut;LC:America/St_Lucia;LI:Europe/Vaduz;LK:Asia/Colombo;LR:Africa/Monrovia;LS:Africa/Maseru;LT:Europe/Vilnius;LU:Europe/Luxembourg;LV:Europe/Riga;LY:Africa/Tripoli|Libya;MA:Africa/Casablanca;MC:Europe/Monaco;MD:Europe/Chisinau,Tiraspol;ME:Europe/Podgorica;MF:America/Marigot;MG:Indian/Antananarivo;MH:Kwajalein|Pacific/Kwajalein,Majuro;MK:Europe/Skopje;ML:Africa/Bamako;MM:Asia/Rangoon,Yangon;MN:Asia/Choibalsan,Hovd,Ulaanbaatar,Ulan_Bator;MO:Asia/Macao,Macau;MP:Pacific/Saipan;MQ:America/Martinique;MR:Africa/Nouakchott;MS:America/Montserrat;MT:Europe/Malta;MU:Indian/Mauritius;MV:Indian/Maldives;MW:Africa/Blantyre;MX:America/Bahia_Banderas,Cancun,Chihuahua,Ciudad_Juarez,Ensenada,Hermosillo,Matamoros,Mazatlan,Merida,Mexico_City,Monterrey,Ojinaga,Santa_Isabel,Tijuana|Mexico/BajaNorte,BajaSur,General;MY:Asia/Kuala_Lumpur,Kuching;MZ:Africa/Maputo;NA:Africa/Windhoek;NC:Pacific/Noumea;NE:Africa/Niamey;NF:Pacific/Norfolk;NG:Africa/Lagos;NI:America/Managua;NL:Europe/Amsterdam;NO:Europe/Oslo;NP:Asia/Kathmandu,Katmandu;NR:Pacific/Nauru;NU:Pacific/Niue;NZ:Antarctica/South_Pole|NZ,NZ-CHAT|Pacific/Auckland,Chatham;OM:Asia/Muscat;PA:America/Coral_Harbour,Panama|EST;PE:America/Lima;PF:Pacific/Gambier,Marquesas,Tahiti;PG:Pacific/Bougainville,Port_Moresby,Truk,Yap;PH:Asia/Manila;PK:Asia/Karachi;PL:Europe/Warsaw|Poland;PM:America/Miquelon;PN:Pacific/Pitcairn;PR:America/Puerto_Rico,Virgin;PS:Asia/Gaza,Hebron;PT:Atlantic/Azores,Madeira|Europe/Lisbon|Portugal,WET;PW:Pacific/Palau;PY:America/Asuncion;QA:Asia/Qatar;RE:Indian/Reunion;RO:Europe/Bucharest;RS:Europe/Belgrade;RU:Asia/Anadyr,Barnaul,Chita,Irkutsk,Kamchatka,Khandyga,Krasnoyarsk,Magadan,Novokuznetsk,Novosibirsk,Omsk,Sakhalin,Srednekolymsk,Tomsk,Ust-Nera,Vladivostok,Yakutsk,Yekaterinburg|Europe/Astrakhan,Kaliningrad,Kirov,Moscow,Samara,Saratov,Ulyanovsk,Volgograd|W-SU;RW:Africa/Kigali;SA:Asia/Riyadh;SB:Pacific/Guadalcanal,Ponape;SC:Indian/Mahe;SD:Africa/Khartoum;SE:Europe/Stockholm;SG:Asia/Singapore|Singapore;SH:Atlantic/St_Helena;SI:Europe/Ljubljana;SJ:Arctic/Longyearbyen;SK:Europe/Bratislava;SL:Africa/Freetown;SM:Europe/San_Marino;SN:Africa/Dakar;SO:Africa/Mogadishu;SR:America/Paramaribo;SS:Africa/Juba;ST:Africa/Sao_Tome;SV:America/El_Salvador;SX:America/Lower_Princes;SY:Asia/Damascus;SZ:Africa/Mbabane;TC:America/Grand_Turk;TD:Africa/Ndjamena;TF:Indian/Kerguelen;TG:Africa/Lome;TH:Asia/Bangkok;TJ:Asia/Dushanbe;TK:Pacific/Fakaofo;TL:Asia/Dili;TM:Asia/Ashgabat,Ashkhabad;TN:Africa/Tunis;TO:Pacific/Tongatapu;TR:Asia/Istanbul|Europe/Istanbul|Turkey;TT:America/Port_of_Spain;TV:Pacific/Funafuti;TW:Asia/Taipei|ROC;TZ:Africa/Dar_es_Salaam;UA:Europe/Kiev,Kyiv,Simferopol,Uzhgorod,Zaporozhye;UG:Africa/Kampala;UM:Pacific/Midway,Wake;US:America/Adak,Anchorage,Atka,Boise,Chicago,Denver,Detroit,Fort_Wayne,Indiana/Indianapolis,Indiana/Knox,Indiana/Marengo,Indiana/Petersburg,Indiana/Tell_City,Indiana/Vevay,Indiana/Vincennes,Indiana/Winamac,Indianapolis,Juneau,Kentucky/Louisville,Kentucky/Monticello,Knox_IN,Los_Angeles,Louisville,Menominee,Metlakatla,New_York,Nome,North_Dakota/Beulah,North_Dakota/Center,North_Dakota/New_Salem,Phoenix,Shiprock,Sitka,Yakutat|HST,MST,Navajo|Pacific/Honolulu,Johnston|US/Alaska,Aleutian,Arizona,Central,East-Indiana,Eastern,Hawaii,Indiana-Starke,Michigan,Mountain,Pacific;UY:America/Montevideo;UZ:Asia/Samarkand,Tashkent;VA:Europe/Vatican;VC:America/St_Vincent;VE:America/Caracas;VG:America/Tortola;VI:America/St_Thomas;VN:Asia/Ho_Chi_Minh,Saigon;VU:Pacific/Efate;WF:Pacific/Wallis;WS:Pacific/Apia;YE:Asia/Aden;YT:Indian/Mayotte;ZA:Africa/Johannesburg;ZM:Africa/Lusaka;ZW:Africa/Harare'; // no i18n
10
+
11
+ export { TZ_COUNTRIES };
@@ -1,11 +1,2 @@
1
- export declare function setAppLogger(on: boolean): void;
2
- export declare function appLoggerEnabled(): boolean;
3
- /** The SDK's own diagnostics may be recorded: `remote_log` is on and the logger is reachable. */
4
- export declare function remoteLogEnabled(): boolean;
5
- /** An app's own log line may be recorded: the app enabled the logger and it is reachable. */
6
- export declare function appLogEnabled(): boolean;
7
- /**
8
- * What is stored may be sent. Either writer is enough: app logging works with `remote_log`
9
- * off, since that switch covers only the SDK's own diagnostics.
10
- */
11
- export declare function remoteLogSendable(): boolean;
1
+ /** Whether a remote log line may be recorded and sent now. */
2
+ export declare function remoteLoggerReachable(): boolean;
@@ -1,24 +1,17 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
2
- import { getConfig, _ZAP } from '../core/state.js';
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ import { _ZAP } from '../core/state.js';
3
3
  import { is_apptics_disabled } from '../core/env.js';
4
4
  import { shouldTrackOrSendData } from '../core/consent.js';
5
5
 
6
6
  /**
7
- * The one switch both halves of the remote logger ask: may this line be recorded, and may
8
- * what is stored be sent? It lives on its own so recording and sending don't import each other.
9
- */
10
- /** The app logger's switch: off until the app calls logger.enable(), as on Android and iOS. */
11
- let appLoggerOn = false;
12
- function setAppLogger(on) {
13
- appLoggerOn = on;
14
- }
15
- function appLoggerEnabled() {
16
- return appLoggerOn;
17
- }
18
- /**
19
- * What every remote-log line needs, whoever wrote it: a running SDK, a client we send anything
20
- * for, the server's remote logger switch, and consent.
7
+ * The one switch both halves of the remote logger ask: may this line be recorded, and may what is
8
+ * stored be sent? It lives on its own so recording and sending don't import each other.
9
+ *
10
+ * There is no switch of the app's own: a line the app writes with AppticsLogger is recorded,
11
+ * whenever the SDK is running, the server has the remote logger on for the app, and the visitor
12
+ * allows tracking.
21
13
  */
14
+ /** Whether a remote log line may be recorded and sent now. */
22
15
  function remoteLoggerReachable() {
23
16
  if (!_ZAP._token || is_apptics_disabled()) {
24
17
  return false;
@@ -29,20 +22,5 @@ function remoteLoggerReachable() {
29
22
  }
30
23
  return shouldTrackOrSendData();
31
24
  }
32
- /** The SDK's own diagnostics may be recorded: `remote_log` is on and the logger is reachable. */
33
- function remoteLogEnabled() {
34
- return getConfig('remote_log') && remoteLoggerReachable(); // no i18n
35
- }
36
- /** An app's own log line may be recorded: the app enabled the logger and it is reachable. */
37
- function appLogEnabled() {
38
- return appLoggerOn && remoteLoggerReachable();
39
- }
40
- /**
41
- * What is stored may be sent. Either writer is enough: app logging works with `remote_log`
42
- * off, since that switch covers only the SDK's own diagnostics.
43
- */
44
- function remoteLogSendable() {
45
- return (getConfig('remote_log') || appLoggerOn) && remoteLoggerReachable(); // no i18n
46
- }
47
25
 
48
- export { appLogEnabled, appLoggerEnabled, remoteLogEnabled, remoteLogSendable, setAppLogger };
26
+ export { remoteLoggerReachable };
@@ -1,25 +1,8 @@
1
1
  /**
2
- * Remote logger: the SDK's own diagnostics, sent to console/addlog.
2
+ * Remote logger delivery: the AppticsLogger lines (logger.ts) are stored in the remotelogs queue
3
+ * and sent from it to log/add by send.ts. gate.ts holds the switch both ask.
3
4
  *
4
- * This file is not the app-facing logging API — that is logger.ts, which shares this queue and
5
- * delivery but has its own switch. This file answers "this app reports no data — what is the SDK
6
- * actually doing on the user's machine?", so what it carries is the SDK's own failures, each
7
- * tagged with the module that was mid-flight (Session, Screen, Event, API, Properties).
8
- * App errors belong to exception/error, an app's remote log lines to logger.ts, and lines meant
9
- * for a feedback report to feedback/logs.ts.
10
- *
11
- * This file records lines, send.ts delivers them, and gate.ts holds the switch both ask.
12
- * Nothing here is exported to apps: the SDK writes these lines itself, through logFailure()
13
- * in core/logger.ts.
14
- */
15
- import { AP_LOG_MODULE } from '../core/constants.js';
16
- import { type CallSite } from '../core/callsite.js';
17
- /** One of console/addlog's `module` values. */
18
- export type LogModule = (typeof AP_LOG_MODULE)[keyof typeof AP_LOG_MODULE];
19
- /**
20
- * Records one line about `module` for console/addlog. Never throws and never blocks the caller:
21
- * a diagnostics channel that breaks the flow it reports on would be worse than no channel.
5
+ * The SDK writes nothing of its own here: its failures go to the browser console (core/logger.ts,
6
+ * in debug mode), and only the lines an app logs reach the Remote Logger page.
22
7
  */
23
- export declare function remoteLog(module: LogModule, message: unknown, site?: CallSite): void;
24
- export { remoteLogEnabled } from './gate.js';
25
8
  export { forgetStoredLogs, sendStoredLogs } from './send.js';
@@ -7,22 +7,16 @@ export declare const LOG_LEVEL: Readonly<{
7
7
  ERROR: 5;
8
8
  }>;
9
9
  export interface AppticsLogger {
10
- /** Starts recording log lines. Off until called. */
11
- enable(): void;
12
- /** Stops recording log lines. */
13
- disable(): void;
14
- /** Whether log lines are being recorded. */
15
- isEnabled(): boolean;
16
- /** Verbose, level 1. The tag leads the message as `[tag]`. */
17
- v(tag: string, message: unknown, ...details: unknown[]): void;
18
- /** Debug, level 2. */
19
- d(tag: string, message: unknown, ...details: unknown[]): void;
20
- /** Info, level 3. */
21
- i(tag: string, message: unknown, ...details: unknown[]): void;
22
- /** Warning, level 4. */
23
- w(tag: string, message: unknown, ...details: unknown[]): void;
24
- /** Error, level 5. */
25
- e(tag: string, message: unknown, ...details: unknown[]): void;
10
+ /** Verbose, level 1 (Android's v). `properties` (an object, as JSON; an Error, as its stack) is appended to the message. */
11
+ verbose(message: unknown, properties?: unknown): void;
12
+ /** Debug, level 2 (Android's d). */
13
+ debug(message: unknown, properties?: unknown): void;
14
+ /** Info, level 3 (Android's i). */
15
+ info(message: unknown, properties?: unknown): void;
16
+ /** Warning, level 4 (Android's w). */
17
+ warn(message: unknown, properties?: unknown): void;
18
+ /** Error, level 5 (Android's e). */
19
+ error(message: unknown, properties?: unknown): void;
26
20
  }
27
- /** Android's AppticsLogger: enable, disable, isEnabled and v / d / i / w / e(tag, message). */
21
+ /** AppticsLogger: verbose / debug / info / warn / error(message, properties?). */
28
22
  export declare const AppticsLogger: AppticsLogger;
@@ -1,28 +1,24 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  import { LOG_FUNCTION_MAX } from '../core/constants.js';
3
3
  import { callSite } from '../core/callsite.js';
4
- import { consolelog_transactions } from '../core/storage.js';
4
+ import { remotelog_transactions } from '../core/storage.js';
5
5
  import { guard } from '../core/guard.js';
6
6
  import { nowMs } from '../core/utils.js';
7
- import { getConfig } from '../core/state.js';
8
- import { appLoggerEnabled, setAppLogger, appLogEnabled } from './gate.js';
7
+ import { remoteLoggerReachable } from './gate.js';
9
8
  import { scheduleSend } from './send.js';
10
9
 
11
10
  /**
12
- * AppticsLogger, as on Android: lines the app writes, shown on the console's Remote Logger page.
11
+ * AppticsLogger: lines the app writes, shown on the console's Remote Logger page.
13
12
  *
14
- * AppticsLogger.enable();
15
- * AppticsLogger.i('Checkout', 'Payment started');
16
- * AppticsLogger.e('Checkout', 'Payment failed', err);
13
+ * AppticsLogger.info('Payment started');
14
+ * AppticsLogger.error('Payment failed', err);
17
15
  *
18
- * It mirrors the native SDKs so the page reads the same whatever sent the line: off until
19
- * enable() (AppticsLogger.enable() on Android, APLog.setShouldLog on iOS), and five levels in
20
- * the iOS order — verbose, debug, info, warn, error — sent as 1 to 5, which is the scale the
21
- * Remote Logger page reads back.
16
+ * Nothing is logged on its own: only the lines the app writes, at five levels in the native SDKs'
17
+ * order (verbose, debug, info, warn, error, sent as 1 to 5, the scale the Remote Logger page reads
18
+ * back). A line is recorded as it is written, with no switch to turn on first, whenever the server
19
+ * has the remote logger on for the app and the visitor allows tracking.
22
20
  *
23
- * Lines share the SDK diagnostics' queue and its log/add delivery, so they are stored before
24
- * they are sent and survive a failed send and a reload. They are a separate switch, though:
25
- * `remote_log: false` silences the SDK's own failures, not the app's logging.
21
+ * Lines are stored before they are sent (send.ts), so they survive a failed send and a reload.
26
22
  */
27
23
  /** The level numbers log/add takes and the Remote Logger page names, in the native SDKs' order. */
28
24
  const LOG_LEVEL = Object.freeze({ VERBOSE: 1, DEBUG: 2, INFO: 3, WARN: 4, ERROR: 5 });
@@ -61,11 +57,12 @@ function describe(value) {
61
57
  * it — which is why the time and call site are taken by the caller, not here.
62
58
  */
63
59
  function record(level, message, details, at, site) {
64
- if (!appLogEnabled()) {
60
+ if (!remoteLoggerReachable()) {
65
61
  return;
66
62
  }
67
63
  var text = [message].concat(details).map(describe).join(' '); // no i18n
68
- consolelog_transactions.add({
64
+ remotelog_transactions.add({
65
+ type: 'remotelog', // no i18n
69
66
  module: functionName(site),
70
67
  level: level,
71
68
  happenedat: at,
@@ -77,60 +74,35 @@ function record(level, message, details, at, site) {
77
74
  scheduleSend();
78
75
  }
79
76
  const recordLine = guard('AppticsLogger', record); // no i18n
80
- /** The browser console method each level prints with under `show_logs`, as Logcat shows them. */
81
- const CONSOLE_METHOD = Object.freeze({
82
- 1: 'debug', 2: 'debug', 3: 'info', 4: 'warn', 5: 'error', // no i18n
83
- });
84
77
  /**
85
- * `show_logs`: the line in the browser console too, as Android's showLogs prints to Logcat. For
86
- * the developer, so it prints whether or not the remote logger is enabled or allowed to record,
87
- * and the arguments go over untouched so the console can still expand an object or an Error.
78
+ * A level's method, `verbose/debug/info/warn/error(message, properties?)` (Android's v/d/i/w/e,
79
+ * without the tag, which the Remote Logger page does not use). The function, file and line are
80
+ * the caller's.
88
81
  */
89
- function show(level, args) {
90
- if (getConfig('show_logs') !== true) {
91
- return;
92
- }
93
- var method = CONSOLE_METHOD[level] || 'log'; // no i18n
94
- if (typeof console !== 'undefined' && typeof console[method] === 'function') { // no i18n
95
- console[method].apply(console, args);
96
- }
97
- }
98
- /**
99
- * A level's Android-style method, `v/d/i/w/e(tag, message, ...details)`. The tag leads the
100
- * message as `[tag]`; the function, file and line are still the caller's, as with the long names.
101
- */
102
- function tagged(level) {
103
- return function (tag, message, ...details) {
82
+ function atLevel(level) {
83
+ return function log(message, properties) {
104
84
  try {
105
- var label = tag === undefined || tag === null ? '' : String(tag).trim(); // no i18n
106
- var parts = label === '' ? [message].concat(details) : ['[' + label + ']', message].concat(details); // no i18n
107
- show(level, parts);
85
+ void properties;
86
+ // everything after the message is appended to it: properties, and anything else a caller
87
+ // passed (an Error as well, say), as before
88
+ var details = Array.prototype.slice.call(arguments, 1);
108
89
  // skip 1: this function's own frame, so the site is the app's line that logged
109
- recordLine(level, parts[0], parts.slice(1), nowMs(), callSite(1));
90
+ recordLine(level, message, details, nowMs(), callSite(1));
110
91
  }
111
92
  catch (err) {
112
93
  // logging must never be the thing that breaks the app
113
94
  }
114
95
  };
115
96
  }
116
- /** Turns the app logger on, or off with `false`. Off by default. */
117
- function enable(on) {
118
- setAppLogger(on !== false);
119
- }
120
- /** Turns the app logger off, as AppticsLogger.disable() does; the same as enable(false). */
121
- function disable() {
122
- setAppLogger(false);
123
- }
124
- /** Android's AppticsLogger: enable, disable, isEnabled and v / d / i / w / e(tag, message). */
97
+ /** AppticsLogger: verbose / debug / info / warn / error(message, properties?). */
125
98
  const AppticsLogger = {
126
- enable: guard('AppticsLogger.enable', function () { enable(true); }), // no i18n
127
- disable: guard('AppticsLogger.disable', disable), // no i18n
128
- isEnabled: guard('AppticsLogger.isEnabled', appLoggerEnabled), // no i18n
129
- v: tagged(LOG_LEVEL.VERBOSE),
130
- d: tagged(LOG_LEVEL.DEBUG),
131
- i: tagged(LOG_LEVEL.INFO),
132
- w: tagged(LOG_LEVEL.WARN),
133
- e: tagged(LOG_LEVEL.ERROR),
99
+ // not wrapped in a guard of their own: the call site is read a fixed number of frames up, and
100
+ // a frame more would report the SDK's own line instead of the app's
101
+ verbose: atLevel(LOG_LEVEL.VERBOSE),
102
+ debug: atLevel(LOG_LEVEL.DEBUG),
103
+ info: atLevel(LOG_LEVEL.INFO),
104
+ warn: atLevel(LOG_LEVEL.WARN),
105
+ error: atLevel(LOG_LEVEL.ERROR),
134
106
  };
135
107
 
136
108
  export { AppticsLogger, LOG_LEVEL };
@@ -1,11 +1,11 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  import { LOG_FUNCTION_MAX, CONSOLE_LOG_MAX_BODY, REMOTE_LOG_LEVEL, LOG_FILENAME_MAX } from '../core/constants.js';
3
3
  import { _ZAP } from '../core/state.js';
4
4
  import { warnAlways, Console } from '../core/logger.js';
5
5
  import { nowMs, isEmpty } from '../core/utils.js';
6
- import { consolelog_transactions } from '../core/storage.js';
6
+ import { remotelog_transactions } from '../core/storage.js';
7
7
  import { postToApptics, apiHeaders, isPermanentRefusal, getMetaObj, postKeepalive } from '../core/transport.js';
8
- import { remoteLogSendable } from './gate.js';
8
+ import { remoteLoggerReachable } from './gate.js';
9
9
 
10
10
  /**
11
11
  * Delivery for the remote logger.
@@ -85,7 +85,7 @@ function trim(items) {
85
85
  if (keepFrom === 0) {
86
86
  return items;
87
87
  }
88
- consolelog_transactions.remove(items.slice(0, keepFrom));
88
+ remotelog_transactions.remove(items.slice(0, keepFrom));
89
89
  return items.slice(keepFrom);
90
90
  }
91
91
  /**
@@ -93,21 +93,21 @@ function trim(items) {
93
93
  * retrying it could only fail the same way and would hold every later line behind it.
94
94
  */
95
95
  function sendStoredLogs() {
96
- if (sending || !remoteLogSendable() || navigator.onLine === false) {
96
+ if (sending || !remoteLoggerReachable() || navigator.onLine === false) {
97
97
  return Promise.resolve();
98
98
  }
99
99
  sending = true;
100
- return consolelog_transactions.all().then(function (stored) {
100
+ return remotelog_transactions.all().then(function (stored) {
101
101
  var batch = trim(stored).slice(0, MAX_PER_BATCH);
102
102
  if (batch.length === 0) {
103
103
  return undefined;
104
104
  }
105
105
  return postToApptics('consolelog', bodyFor(batch), apiHeaders(), LABEL).then(function () {
106
- return consolelog_transactions.remove(batch);
106
+ return remotelog_transactions.remove(batch);
107
107
  }, function (err) {
108
108
  if (isPermanentRefusal(err)) {
109
109
  warnAlways('apptics: the server refused these log lines, so they were dropped: ' + String(err && err.message)); // no i18n
110
- return consolelog_transactions.remove(batch);
110
+ return remotelog_transactions.remove(batch);
111
111
  }
112
112
  Console.log(LABEL + ': ' + String(err)); // no i18n
113
113
  return undefined;
@@ -124,20 +124,20 @@ function sendStoredLogs() {
124
124
  * stay stored until the server has confirmed them.
125
125
  */
126
126
  function forgetStoredLogs() {
127
- if (!remoteLogSendable()) {
127
+ if (!remoteLoggerReachable()) {
128
128
  return Promise.resolve();
129
129
  }
130
- return consolelog_transactions.all().then(function (stored) {
130
+ return remotelog_transactions.all().then(function (stored) {
131
131
  if (stored.length === 0) {
132
132
  return undefined;
133
133
  }
134
134
  var batch = stored.slice(0, MAX_PER_BATCH);
135
135
  // removed once the server has them; lines whose answer never comes go on the next visit
136
136
  postKeepalive('consolelog', bodyFor(batch), apiHeaders(), LABEL).then(function () {
137
- return consolelog_transactions.remove(batch);
137
+ return remotelog_transactions.remove(batch);
138
138
  }, function (err) {
139
139
  if (isPermanentRefusal(err)) {
140
- return consolelog_transactions.remove(batch);
140
+ return remotelog_transactions.remove(batch);
141
141
  }
142
142
  Console.log(LABEL + ': ' + String(err)); // no i18n
143
143
  return undefined;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The app logger, shipped as its own entry point:
3
+ * import { AppticsLogger } from '@zoho_apptics/apptics-js-sdk/remote-logger';
4
+ *
5
+ * AppticsLogger: verbose / debug / info / warn / error(message, props?), shown on the
6
+ * console's Remote Logger page. A line is recorded as it is written, with no switch to turn on.
7
+ * Apps that don't import it don't ship it.
8
+ */
9
+ import { AppticsLogger } from '../remotelog/logger.js';
10
+ export { AppticsLogger };
11
+ export type { AppticsLogger as AppticsLoggerApi } from '../remotelog/logger.js';
12
+ export default AppticsLogger;
@@ -0,0 +1,13 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ import { AppticsLogger } from '../remotelog/logger.js';
3
+
4
+ /**
5
+ * The app logger, shipped as its own entry point:
6
+ * import { AppticsLogger } from '@zoho_apptics/apptics-js-sdk/remote-logger';
7
+ *
8
+ * AppticsLogger: verbose / debug / info / warn / error(message, props?), shown on the
9
+ * console's Remote Logger page. A line is recorded as it is written, with no switch to turn on.
10
+ * Apps that don't import it don't ship it.
11
+ */
12
+
13
+ export { AppticsLogger, AppticsLogger as default };
@@ -1,4 +1,4 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  import { _ZAP, getConfig } from './core/state.js';
3
3
  import { nowMs } from './core/utils.js';
4
4
  import { Console } from './core/logger.js';
@@ -23,7 +23,7 @@ function flush(forget) {
23
23
  return sendEngagementData(forget).then(function () {
24
24
  return sendErrorData(forget);
25
25
  }).then(function () {
26
- // no-op unless the heatmap entry was imported, which is what sets the hook
26
+ // the hook heatmap/send.ts sets
27
27
  return hooks.sendHeatmaps(forget);
28
28
  });
29
29
  }