@zoho_apptics/apptics-js-sdk 1.0.1 → 2.0.0-beta

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 (226) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/LICENSE +13 -0
  3. package/README.md +747 -11
  4. package/dist/apptics.esm.min.js +3 -0
  5. package/dist/apptics.esm.min.js.map +1 -0
  6. package/dist/apptics.min.js +3 -0
  7. package/dist/apptics.min.js.map +1 -0
  8. package/dist/chunks/batch-BU_mTpm1.min.js +3 -0
  9. package/dist/chunks/batch-BU_mTpm1.min.js.map +1 -0
  10. package/dist/chunks/logs-Bea5zUW_.min.js +3 -0
  11. package/dist/chunks/logs-Bea5zUW_.min.js.map +1 -0
  12. package/dist/cjs/auto-init.d.ts +8 -0
  13. package/dist/cjs/auto-init.js +32 -0
  14. package/dist/cjs/core/attempts.d.ts +28 -0
  15. package/dist/cjs/core/attempts.js +113 -0
  16. package/dist/cjs/core/batch.d.ts +32 -0
  17. package/dist/cjs/core/batch.js +115 -0
  18. package/dist/cjs/core/callsite.d.ts +28 -0
  19. package/dist/cjs/core/callsite.js +93 -0
  20. package/dist/cjs/core/consent.d.ts +23 -0
  21. package/dist/cjs/core/consent.js +130 -0
  22. package/dist/cjs/core/constants.d.ts +212 -0
  23. package/dist/cjs/core/constants.js +299 -0
  24. package/dist/cjs/core/db.d.ts +40 -0
  25. package/dist/cjs/core/db.js +334 -0
  26. package/dist/cjs/core/debug.d.ts +22 -0
  27. package/dist/cjs/core/debug.js +88 -0
  28. package/dist/cjs/core/env.d.ts +28 -0
  29. package/dist/cjs/core/env.js +267 -0
  30. package/dist/cjs/core/framework-id.d.ts +1 -0
  31. package/dist/cjs/core/framework-id.js +9 -0
  32. package/dist/cjs/core/guard.d.ts +2 -0
  33. package/dist/cjs/core/guard.js +72 -0
  34. package/dist/cjs/core/hooks.d.ts +41 -0
  35. package/dist/cjs/core/hooks.js +23 -0
  36. package/dist/cjs/core/logger.d.ts +16 -0
  37. package/dist/cjs/core/logger.js +86 -0
  38. package/dist/cjs/core/state.d.ts +69 -0
  39. package/dist/cjs/core/state.js +78 -0
  40. package/dist/cjs/core/storage.d.ts +46 -0
  41. package/dist/cjs/core/storage.js +229 -0
  42. package/dist/cjs/core/transport.d.ts +83 -0
  43. package/dist/cjs/core/transport.js +441 -0
  44. package/dist/cjs/core/utils.d.ts +26 -0
  45. package/dist/cjs/core/utils.js +175 -0
  46. package/dist/cjs/core/validate.d.ts +18 -0
  47. package/dist/cjs/core/validate.js +233 -0
  48. package/dist/cjs/device/appversion.d.ts +20 -0
  49. package/dist/cjs/device/appversion.js +158 -0
  50. package/dist/cjs/device/index.d.ts +23 -0
  51. package/dist/cjs/device/index.js +372 -0
  52. package/dist/cjs/engagement/api-rules.d.ts +84 -0
  53. package/dist/cjs/engagement/api-rules.js +219 -0
  54. package/dist/cjs/engagement/auto-api.d.ts +7 -0
  55. package/dist/cjs/engagement/auto-api.js +200 -0
  56. package/dist/cjs/engagement/auto-screen.d.ts +16 -0
  57. package/dist/cjs/engagement/auto-screen.js +241 -0
  58. package/dist/cjs/engagement/defined-events.d.ts +23 -0
  59. package/dist/cjs/engagement/defined-events.js +58 -0
  60. package/dist/cjs/engagement/send.d.ts +6 -0
  61. package/dist/cjs/engagement/send.js +99 -0
  62. package/dist/cjs/engagement/session.d.ts +42 -0
  63. package/dist/cjs/engagement/session.js +327 -0
  64. package/dist/cjs/engagement/track.d.ts +56 -0
  65. package/dist/cjs/engagement/track.js +350 -0
  66. package/dist/cjs/errors/send.d.ts +6 -0
  67. package/dist/cjs/errors/send.js +73 -0
  68. package/dist/cjs/errors/track.d.ts +4 -0
  69. package/dist/cjs/errors/track.js +127 -0
  70. package/dist/cjs/feedback/controls.d.ts +31 -0
  71. package/dist/cjs/feedback/controls.js +286 -0
  72. package/dist/cjs/feedback/index.d.ts +8 -0
  73. package/dist/cjs/feedback/index.js +37 -0
  74. package/dist/cjs/feedback/logs.d.ts +40 -0
  75. package/dist/cjs/feedback/logs.js +202 -0
  76. package/dist/cjs/feedback/send.d.ts +25 -0
  77. package/dist/cjs/feedback/send.js +178 -0
  78. package/dist/cjs/feedback/template.d.ts +2 -0
  79. package/dist/cjs/feedback/template.js +162 -0
  80. package/dist/cjs/feedback/ui.d.ts +55 -0
  81. package/dist/cjs/feedback/ui.js +631 -0
  82. package/dist/cjs/heatmap/index.d.ts +16 -0
  83. package/dist/cjs/heatmap/index.js +22 -0
  84. package/dist/cjs/heatmap/send.d.ts +13 -0
  85. package/dist/cjs/heatmap/send.js +82 -0
  86. package/dist/cjs/heatmap/track.d.ts +4 -0
  87. package/dist/cjs/heatmap/track.js +377 -0
  88. package/dist/cjs/index.d.ts +68 -0
  89. package/dist/cjs/index.js +150 -0
  90. package/dist/cjs/lifecycle.d.ts +14 -0
  91. package/dist/cjs/lifecycle.js +538 -0
  92. package/dist/cjs/package.json +3 -0
  93. package/dist/cjs/remoteconfig/custom.d.ts +10 -0
  94. package/dist/cjs/remoteconfig/custom.js +78 -0
  95. package/dist/cjs/remoteconfig/evaluate.d.ts +24 -0
  96. package/dist/cjs/remoteconfig/evaluate.js +171 -0
  97. package/dist/cjs/remoteconfig/fetch.d.ts +24 -0
  98. package/dist/cjs/remoteconfig/fetch.js +214 -0
  99. package/dist/cjs/remoteconfig/index.d.ts +13 -0
  100. package/dist/cjs/remoteconfig/index.js +90 -0
  101. package/dist/cjs/remoteconfig/store.d.ts +18 -0
  102. package/dist/cjs/remoteconfig/store.js +98 -0
  103. package/dist/cjs/remotelog/gate.d.ts +11 -0
  104. package/dist/cjs/remotelog/gate.js +54 -0
  105. package/dist/cjs/remotelog/index.d.ts +25 -0
  106. package/dist/cjs/remotelog/index.js +55 -0
  107. package/dist/cjs/remotelog/logger.d.ts +28 -0
  108. package/dist/cjs/remotelog/logger.js +139 -0
  109. package/dist/cjs/remotelog/send.d.ts +13 -0
  110. package/dist/cjs/remotelog/send.js +153 -0
  111. package/dist/cjs/scheduler.d.ts +8 -0
  112. package/dist/cjs/scheduler.js +78 -0
  113. package/dist/cjs/types.d.ts +312 -0
  114. package/dist/cjs/user/index.d.ts +33 -0
  115. package/dist/cjs/user/index.js +178 -0
  116. package/dist/esm/auto-init.d.ts +8 -0
  117. package/dist/esm/auto-init.js +29 -0
  118. package/dist/esm/core/attempts.d.ts +28 -0
  119. package/dist/esm/core/attempts.js +106 -0
  120. package/dist/esm/core/batch.d.ts +32 -0
  121. package/dist/esm/core/batch.js +108 -0
  122. package/dist/esm/core/callsite.d.ts +28 -0
  123. package/dist/esm/core/callsite.js +89 -0
  124. package/dist/esm/core/consent.d.ts +23 -0
  125. package/dist/esm/core/consent.js +120 -0
  126. package/dist/esm/core/constants.d.ts +212 -0
  127. package/dist/esm/core/constants.js +277 -0
  128. package/dist/esm/core/db.d.ts +40 -0
  129. package/dist/esm/core/db.js +324 -0
  130. package/dist/esm/core/debug.d.ts +22 -0
  131. package/dist/esm/core/debug.js +81 -0
  132. package/dist/esm/core/env.d.ts +28 -0
  133. package/dist/esm/core/env.js +251 -0
  134. package/dist/esm/core/framework-id.d.ts +1 -0
  135. package/dist/esm/core/framework-id.js +7 -0
  136. package/dist/esm/core/guard.d.ts +2 -0
  137. package/dist/esm/core/guard.js +70 -0
  138. package/dist/esm/core/hooks.d.ts +41 -0
  139. package/dist/esm/core/hooks.js +21 -0
  140. package/dist/esm/core/logger.d.ts +16 -0
  141. package/dist/esm/core/logger.js +82 -0
  142. package/dist/esm/core/state.d.ts +69 -0
  143. package/dist/esm/core/state.js +73 -0
  144. package/dist/esm/core/storage.d.ts +46 -0
  145. package/dist/esm/core/storage.js +219 -0
  146. package/dist/esm/core/transport.d.ts +83 -0
  147. package/dist/esm/core/transport.js +425 -0
  148. package/dist/esm/core/utils.d.ts +26 -0
  149. package/dist/esm/core/utils.js +161 -0
  150. package/dist/esm/core/validate.d.ts +18 -0
  151. package/dist/esm/core/validate.js +226 -0
  152. package/dist/esm/device/appversion.d.ts +20 -0
  153. package/dist/esm/device/appversion.js +153 -0
  154. package/dist/esm/device/index.d.ts +23 -0
  155. package/dist/esm/device/index.js +362 -0
  156. package/dist/esm/engagement/api-rules.d.ts +84 -0
  157. package/dist/esm/engagement/api-rules.js +211 -0
  158. package/dist/esm/engagement/auto-api.d.ts +7 -0
  159. package/dist/esm/engagement/auto-api.js +198 -0
  160. package/dist/esm/engagement/auto-screen.d.ts +16 -0
  161. package/dist/esm/engagement/auto-screen.js +238 -0
  162. package/dist/esm/engagement/defined-events.d.ts +23 -0
  163. package/dist/esm/engagement/defined-events.js +55 -0
  164. package/dist/esm/engagement/send.d.ts +6 -0
  165. package/dist/esm/engagement/send.js +96 -0
  166. package/dist/esm/engagement/session.d.ts +42 -0
  167. package/dist/esm/engagement/session.js +315 -0
  168. package/dist/esm/engagement/track.d.ts +56 -0
  169. package/dist/esm/engagement/track.js +340 -0
  170. package/dist/esm/errors/send.d.ts +6 -0
  171. package/dist/esm/errors/send.js +70 -0
  172. package/dist/esm/errors/track.d.ts +4 -0
  173. package/dist/esm/errors/track.js +123 -0
  174. package/dist/esm/feedback/controls.d.ts +31 -0
  175. package/dist/esm/feedback/controls.js +280 -0
  176. package/dist/esm/feedback/index.d.ts +8 -0
  177. package/dist/esm/feedback/index.js +30 -0
  178. package/dist/esm/feedback/logs.d.ts +40 -0
  179. package/dist/esm/feedback/logs.js +188 -0
  180. package/dist/esm/feedback/send.d.ts +25 -0
  181. package/dist/esm/feedback/send.js +175 -0
  182. package/dist/esm/feedback/template.d.ts +2 -0
  183. package/dist/esm/feedback/template.js +159 -0
  184. package/dist/esm/feedback/ui.d.ts +55 -0
  185. package/dist/esm/feedback/ui.js +626 -0
  186. package/dist/esm/heatmap/index.d.ts +16 -0
  187. package/dist/esm/heatmap/index.js +17 -0
  188. package/dist/esm/heatmap/send.d.ts +13 -0
  189. package/dist/esm/heatmap/send.js +79 -0
  190. package/dist/esm/heatmap/track.d.ts +4 -0
  191. package/dist/esm/heatmap/track.js +374 -0
  192. package/dist/esm/index.d.ts +68 -0
  193. package/dist/esm/index.js +122 -0
  194. package/dist/esm/lifecycle.d.ts +14 -0
  195. package/dist/esm/lifecycle.js +534 -0
  196. package/dist/esm/package.json +3 -0
  197. package/dist/esm/remoteconfig/custom.d.ts +10 -0
  198. package/dist/esm/remoteconfig/custom.js +74 -0
  199. package/dist/esm/remoteconfig/evaluate.d.ts +24 -0
  200. package/dist/esm/remoteconfig/evaluate.js +166 -0
  201. package/dist/esm/remoteconfig/fetch.d.ts +24 -0
  202. package/dist/esm/remoteconfig/fetch.js +210 -0
  203. package/dist/esm/remoteconfig/index.d.ts +13 -0
  204. package/dist/esm/remoteconfig/index.js +85 -0
  205. package/dist/esm/remoteconfig/store.d.ts +18 -0
  206. package/dist/esm/remoteconfig/store.js +91 -0
  207. package/dist/esm/remotelog/gate.d.ts +11 -0
  208. package/dist/esm/remotelog/gate.js +48 -0
  209. package/dist/esm/remotelog/index.d.ts +25 -0
  210. package/dist/esm/remotelog/index.js +51 -0
  211. package/dist/esm/remotelog/logger.d.ts +28 -0
  212. package/dist/esm/remotelog/logger.js +136 -0
  213. package/dist/esm/remotelog/send.d.ts +13 -0
  214. package/dist/esm/remotelog/send.js +149 -0
  215. package/dist/esm/scheduler.d.ts +8 -0
  216. package/dist/esm/scheduler.js +74 -0
  217. package/dist/esm/types.d.ts +312 -0
  218. package/dist/esm/user/index.d.ts +33 -0
  219. package/dist/esm/user/index.js +170 -0
  220. package/dist/feedback.esm.min.js +3 -0
  221. package/dist/feedback.esm.min.js.map +1 -0
  222. package/dist/heatmap.esm.min.js +3 -0
  223. package/dist/heatmap.esm.min.js.map +1 -0
  224. package/dist/style.css +1 -0
  225. package/package.json +124 -7
  226. package/src/appticssdk.js +0 -3817
@@ -0,0 +1,150 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var constants = require('./core/constants.js');
7
+ var guard = require('./core/guard.js');
8
+ var lifecycle = require('./lifecycle.js');
9
+ var autoApi = require('./engagement/auto-api.js');
10
+ var track = require('./engagement/track.js');
11
+ var definedEvents = require('./engagement/defined-events.js');
12
+ var utils = require('./core/utils.js');
13
+ var validate = require('./core/validate.js');
14
+ var apiRules = require('./engagement/api-rules.js');
15
+ var track$1 = require('./errors/track.js');
16
+ var index = require('./user/index.js');
17
+ var consent = require('./core/consent.js');
18
+ var scheduler = require('./scheduler.js');
19
+ var logs = require('./feedback/logs.js');
20
+ var autoInit = require('./auto-init.js');
21
+ var debug = require('./core/debug.js');
22
+ var logger = require('./remotelog/logger.js');
23
+
24
+ /** Android's Apptics: `Apptics.init(config)` starts the SDK. */
25
+ const Apptics = {
26
+ /** Starts the SDK. The config object is required; the console snippet supplies it via auto-init. */
27
+ init: guard.guard('Apptics.init', lifecycle.init), // no i18n
28
+ };
29
+ const ready = guard.guard('ready', lifecycle.ready); // no i18n
30
+ /** Android's AppticsEvents: `addEvent(name, group?, properties?)`, or `addEvent(DefinedEvents.X, properties?)`. */
31
+ const AppticsEvents = {
32
+ addEvent: guard.guard('AppticsEvents.addEvent', track.trackEvent), // no i18n
33
+ };
34
+ const inScreenGuarded = guard.guard('AppticsScreenTracker.inScreen', track.inScreenAt); // no i18n
35
+ const outScreenGuarded = guard.guard('AppticsScreenTracker.outScreen', track.outScreenAt); // no i18n
36
+ /** Android's AppticsScreenTracker: inScreen(name) returns the view's id, outScreen(id) ends it. */
37
+ const AppticsScreenTracker = {
38
+ /**
39
+ * Records a screen view and returns its id. The view ends at the next screen, when the page is
40
+ * hidden or its session ends, or when the id is handed to outScreen. '' for an invalid name.
41
+ */
42
+ inScreen: function (screenName, properties) {
43
+ if (!validate.validateScreenName(screenName)) {
44
+ // inScreenAt reports it; the caller still needs an answer now
45
+ inScreenGuarded(screenName, properties, '', utils.nowMs()); // no i18n
46
+ return ''; // no i18n
47
+ }
48
+ // the id and the start now, so both are right even when start-up is still running
49
+ var id = utils.getNewUUID();
50
+ inScreenGuarded(screenName, properties, id, utils.nowMs());
51
+ return id;
52
+ },
53
+ /** Ends the screen view inScreen began, before the next screen would. */
54
+ outScreen: function (id) {
55
+ outScreenGuarded(id, utils.nowMs());
56
+ },
57
+ };
58
+ const endTrackApiGuarded = guard.guard('AppticsApiTracker.endTrackApi', track.endTrackApiAt); // no i18n
59
+ /** Android's AppticsApiTracker: startTrackApi / endTrackApi, and configure for the rules. */
60
+ const AppticsApiTracker = {
61
+ /** Begins timing one call: returns the id endTrackApi takes. */
62
+ startTrackApi: guard.guard('AppticsApiTracker.startTrackApi', track.startTrackApi), // no i18n
63
+ /** Finishes a call startTrackApi began and records it. */
64
+ endTrackApi: function (id, responseCode, responseMessage) {
65
+ // the end time now, not when a call made during start-up is replayed
66
+ endTrackApiGuarded(id, responseCode, responseMessage, utils.nowMs());
67
+ },
68
+ /** The rules API tracking records by, from ApiTrackingBuilder. Works before Apptics.init(). */
69
+ configure: guard.guard('AppticsApiTracker.configure', apiRules.configureApiTracking), // no i18n
70
+ };
71
+ /** Turns automatic API tracking on or off; the `track_api` config flag is the usual way to set it. */
72
+ const enableApiTracking = guard.guard('enableApiTracking', autoApi.enableApiTracking); // no i18n
73
+ /** Reports an error the app caught, or an `error` / `unhandledrejection` event. */
74
+ const AppticsTrackError = guard.guard('AppticsTrackError', track$1.trackError); // no i18n
75
+ const enableGlobalErrorHandler = guard.guard('enableGlobalErrorHandler', track$1.enableGlobalErrorHandler); // no i18n
76
+ /** Registers the signed-in user; properties may be a plain object or UserBuilder.build(). */
77
+ const AppticsSetUser = guard.guard('AppticsSetUser', index.setUser); // no i18n
78
+ const getUser = guard.guard('getUser', index.getUser); // no i18n
79
+ const setTrackingStatus = guard.guard('setTrackingStatus', consent.setTrackingStatus); // no i18n
80
+ const getTrackingStatus = guard.guard('getTrackingStatus', consent.getTrackingStatus); // no i18n
81
+ const flush = guard.guard('flush', scheduler.flush); // no i18n
82
+ /** Records a line for the next feedback submission. Costs nothing until feedback is sent. */
83
+ const addFeedbackLog = guard.guard('addFeedbackLog', logs.addFeedbackLog); // no i18n
84
+ /** Records a diagnostics key/value, grouped under `heading`, for the next feedback submission. */
85
+ const addDiagnosticsInfo = guard.guard('addDiagnosticsInfo', logs.addDiagnosticsInfo); // no i18n
86
+ /**
87
+ * Turns debug mode on; works before init(), and wins over `debug` in init().
88
+ *
89
+ * On, engagement, exception and log go to their `debug/` twins and the answers carry a request id
90
+ * and a link into the server's own logs. It switches itself off after an hour with nothing
91
+ * tracked, so a forgotten tab stops tracing on its own.
92
+ */
93
+ const enableDebug = guard.guard('enableDebug', debug.enableDebug); // no i18n
94
+ /** Turns debug mode off; works before init(), and wins over `debug` in init(). */
95
+ const disableDebug = guard.guard('disableDebug', debug.disableDebug); // no i18n
96
+ const reset = guard.guard('reset', lifecycle.reset); // no i18n
97
+ const apptics = {
98
+ Apptics,
99
+ AppticsEvents,
100
+ AppticsScreenTracker,
101
+ AppticsApiTracker,
102
+ AppticsLogger: logger.AppticsLogger,
103
+ DefinedEvents: definedEvents.DefinedEvents,
104
+ ApiTrackingBuilder: apiRules.ApiTrackingBuilder,
105
+ ready,
106
+ enableDebug,
107
+ disableDebug,
108
+ enableApiTracking,
109
+ AppticsTrackError,
110
+ enableGlobalErrorHandler,
111
+ AppticsSetUser,
112
+ getUser,
113
+ users: index.users,
114
+ setTrackingStatus,
115
+ getTrackingStatus,
116
+ flush,
117
+ addFeedbackLog,
118
+ addDiagnosticsInfo,
119
+ reset,
120
+ AP_TRACKING_STATUS: constants.AP_TRACKING_STATUS,
121
+ AP_FEEDBACK_TYPE: constants.AP_FEEDBACK_TYPE,
122
+ };
123
+ autoInit.scheduleAutoInit(Apptics);
124
+
125
+ exports.AP_FEEDBACK_TYPE = constants.AP_FEEDBACK_TYPE;
126
+ exports.AP_TRACKING_STATUS = constants.AP_TRACKING_STATUS;
127
+ exports.DefinedEvents = definedEvents.DefinedEvents;
128
+ exports.ApiTrackingBuilder = apiRules.ApiTrackingBuilder;
129
+ exports.UserBuilder = index.UserBuilder;
130
+ exports.users = index.users;
131
+ exports.AppticsLogger = logger.AppticsLogger;
132
+ exports.Apptics = Apptics;
133
+ exports.AppticsApiTracker = AppticsApiTracker;
134
+ exports.AppticsEvents = AppticsEvents;
135
+ exports.AppticsScreenTracker = AppticsScreenTracker;
136
+ exports.AppticsSetUser = AppticsSetUser;
137
+ exports.AppticsTrackError = AppticsTrackError;
138
+ exports.addDiagnosticsInfo = addDiagnosticsInfo;
139
+ exports.addFeedbackLog = addFeedbackLog;
140
+ exports.default = apptics;
141
+ exports.disableDebug = disableDebug;
142
+ exports.enableApiTracking = enableApiTracking;
143
+ exports.enableDebug = enableDebug;
144
+ exports.enableGlobalErrorHandler = enableGlobalErrorHandler;
145
+ exports.flush = flush;
146
+ exports.getTrackingStatus = getTrackingStatus;
147
+ exports.getUser = getUser;
148
+ exports.ready = ready;
149
+ exports.reset = reset;
150
+ exports.setTrackingStatus = setTrackingStatus;
@@ -0,0 +1,14 @@
1
+ import type { AppticsConfig } from './types.js';
2
+ /**
3
+ * Starts the SDK. The config object is required: pass it directly, or let the console snippet
4
+ * supply it (auto-init reads window.appticssettings._defaultoptions and calls init with it).
5
+ * Returns true when the config has serviceUrl, zak, identifier and appversion and start-up has
6
+ * begun (see ready()), false when it was already running, the config is missing or incomplete, or
7
+ * there is no browser. Start-up calls app/addversion with those four, which answers with aaid, the
8
+ * portal and project ids and the rest; then device/add registers the browser, as in 1.x.
9
+ */
10
+ export declare function init(config: AppticsConfig): boolean;
11
+ /** Resolves true once start-up has finished, false if init() refused or storage is unusable. */
12
+ export declare function ready(): Promise<boolean>;
13
+ /** Clears stored identity and queues, then starts again from the snippet. */
14
+ export declare function reset(): void;