humanbehavior-js 0.1.8 → 0.2.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.
- package/dist/.tsbuildinfo +1 -0
- package/dist/cjs/index.js +145 -71
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/index.js +492 -26
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/esm/index.js +145 -72
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/index.js +474 -10
- package/dist/esm/react/index.js.map +1 -1
- package/dist/index.min.js +1 -15
- package/dist/index.min.js.map +1 -1
- package/dist/types/index.d.ts +23 -8
- package/dist/types/react/index.d.ts +18 -3
- package/package.json +33 -10
- package/readme.md +2 -0
- package/src/api.ts +75 -16
- package/src/index.ts +2 -2
- package/src/react/index.tsx +49 -4
- package/src/tracker.ts +81 -51
- package/rollup.config.js +0 -106
- package/simple-demo.html +0 -26
- package/simple-spa.html +0 -594
- package/tsconfig.json +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/tslib/tslib.d.ts","../node_modules/@types/react/global.d.ts","../node_modules/csstype/index.d.ts","../node_modules/@types/react/index.d.ts","../node_modules/@types/react/jsx-runtime.d.ts","../src/utils/logger.ts","../src/api.ts","../node_modules/rrweb-snapshot/typings/types.d.ts","../node_modules/rrweb-snapshot/typings/utils.d.ts","../node_modules/rrweb-snapshot/typings/snapshot.d.ts","../node_modules/rrweb-snapshot/typings/rebuild.d.ts","../node_modules/rrweb-snapshot/typings/index.d.ts","../node_modules/@rrweb/types/dist/index.d.ts","../node_modules/rrweb/typings/packer/base.d.ts","../node_modules/rrweb/typings/record/cross-origin-iframe-mirror.d.ts","../node_modules/rrdom/es/document.d.ts","../node_modules/rrdom/es/diff.d.ts","../node_modules/rrdom/es/index.d.ts","../node_modules/rrweb/typings/utils.d.ts","../node_modules/rrweb/typings/record/stylesheet-manager.d.ts","../node_modules/rrweb/typings/record/iframe-manager.d.ts","../node_modules/rrweb/typings/record/shadow-dom-manager.d.ts","../node_modules/rrweb/typings/replay/timer.d.ts","../node_modules/@xstate/fsm/lib/types.d.ts","../node_modules/@xstate/fsm/lib/index.d.ts","../node_modules/rrweb/typings/replay/machine.d.ts","../node_modules/rrweb/typings/replay/index.d.ts","../node_modules/rrweb/typings/record/observers/canvas/canvas-manager.d.ts","../node_modules/rrweb/typings/types.d.ts","../node_modules/rrweb/typings/record/index.d.ts","../node_modules/rrweb/typings/index.d.ts","../node_modules/rrweb/typings/packer/pack.d.ts","../node_modules/rrweb/typings/packer/unpack.d.ts","../node_modules/rrweb/typings/packer/index.d.ts","../node_modules/rrweb/typings/plugins/console/record/index.d.ts","../node_modules/rrweb/typings/plugins/console/replay/index.d.ts","../node_modules/rrweb/typings/entries/all.d.ts","../node_modules/uuid/dist/cjs/types.d.ts","../node_modules/uuid/dist/cjs/max.d.ts","../node_modules/uuid/dist/cjs/nil.d.ts","../node_modules/uuid/dist/cjs/parse.d.ts","../node_modules/uuid/dist/cjs/stringify.d.ts","../node_modules/uuid/dist/cjs/v1.d.ts","../node_modules/uuid/dist/cjs/v1tov6.d.ts","../node_modules/uuid/dist/cjs/v35.d.ts","../node_modules/uuid/dist/cjs/v3.d.ts","../node_modules/uuid/dist/cjs/v4.d.ts","../node_modules/uuid/dist/cjs/v5.d.ts","../node_modules/uuid/dist/cjs/v6.d.ts","../node_modules/uuid/dist/cjs/v6tov1.d.ts","../node_modules/uuid/dist/cjs/v7.d.ts","../node_modules/uuid/dist/cjs/validate.d.ts","../node_modules/uuid/dist/cjs/version.d.ts","../node_modules/uuid/dist/cjs/index.d.ts","../src/redact.ts","../src/tracker.ts","../src/index.ts","../src/react/index.tsx","../node_modules/@types/css-font-loading-module/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/react-dom/index.d.ts","../node_modules/@types/resolve/index.d.ts"],"fileIdsList":[[143,187],[143,184,187],[143,186,187],[187],[143,187,192,222],[143,187,188,193,199,200,207,219,230],[143,187,188,189,199,207],[143,187,190,231],[143,187,191,192,200,208],[143,187,192,219,227],[143,187,193,195,199,207],[143,186,187,194],[143,187,195,196],[143,187,197,199],[143,186,187,199],[143,187,199,200,201,219,230],[143,187,199,200,201,214,219,222],[143,182,187],[143,182,187,195,199,202,207,219,230],[143,187,199,200,202,203,207,219,227,230],[143,187,202,204,219,227,230],[141,142,143,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236],[143,187,199,205],[143,187,206,230],[143,187,195,199,207,219],[143,187,208],[143,187,209],[143,186,187,210],[143,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236],[143,187,212],[143,187,213],[143,187,199,214,215],[143,187,214,216,231,233],[143,187,199,219,220,222],[143,187,221,222],[143,187,219,220],[143,187,222],[143,187,223],[143,184,187,219,224],[143,187,199,225,226],[143,187,225,226],[143,187,192,207,219,227],[143,187,228],[143,187,207,229],[143,187,202,213,230],[143,187,192,231],[143,187,219,232],[143,187,206,233],[143,187,234],[143,187,199,201,210,219,222,230,232,233,235],[143,187,219,236],[84,143,187],[82,83,143,187],[104,143,187],[92,93,96,98,143,187],[92,143,187],[92,93,96,97,143,187],[88,89,90,91,143,187],[88,89,143,187],[88,143,187],[111,114,115,116,143,187],[93,99,107,110,143,187],[93,143,187],[112,113,143,187],[94,143,187],[109,115,143,187],[92,93,95,100,143,187],[92,93,109,143,187],[92,93,143,187],[92,93,99,143,187],[92,93,98,103,106,109,143,187],[93,103,105,109,143,187],[92,93,94,98,100,101,102,107,108,143,187],[92,93,98,143,187],[143,152,156,187,230],[143,152,187,219,230],[143,187,219],[143,147,187],[143,149,152,187,230],[143,187,207,227],[143,187,237],[143,147,187,237],[143,149,152,187,207,230],[143,144,145,146,148,151,187,199,219,230],[143,152,160,187],[143,145,150,187],[143,152,176,177,187],[143,145,148,152,187,222,230,237],[143,152,187],[143,144,187],[143,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179,180,181,187],[143,152,169,172,187,195],[143,152,160,161,162,187],[143,150,152,161,163,187],[143,151,187],[143,145,147,152,187],[143,152,156,161,163,187],[143,156,187],[143,150,152,155,187,230],[143,145,149,152,160,187],[143,152,169,187],[143,147,152,176,187,222,235,237],[118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,143,187],[118,143,187],[118,125,143,187],[81,85,86,143,187],[81,85,86,87,135,136,143,187],[81,84,85,86,137,143,187],[81,85,86,87,117,134,135,143,187],[81,85,143,187]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"d4d7d3f832882a4b2d611a7eaaa80c780c3342b5732090130fa9af4a40bd051e","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},"bd119d0c14a807116fb11ad4c36ead063e809fffe17b1fc4ec874c2ac40bd72f","f02af930f153e8c0e48c6623e682db879a0d48153f185d7feb931cf3ac39fc91",{"version":"09125e35b74ff109c9ad5544cc9f9f94be417c23e4c46f487306f1cb8798dba8","impliedFormat":1},{"version":"3bf5db6b09654b9aec21368681e26feb65a38e4e7ec99eb46a0708c2976b85c6","impliedFormat":1},{"version":"fd26d1e5b8887e3930bf433916caae2735b3ebf0e91eb84ce706637c04d70331","impliedFormat":1},{"version":"4c31c0221e15809baaf2d2cc6ac29866bdfcf6724fa24f8c9a283e688429df5d","impliedFormat":1},{"version":"de5eab6d5cb27f04aa2150ed64c1adce16a4207def9ad243cede8d8a654c2314","impliedFormat":1},{"version":"e509668561a66620f9a27cbacbd0f2074f53c9ea23112f2c9870355368db7539","affectsGlobalScope":true,"impliedFormat":99},{"version":"1ff1def57fe00b4548c8bd7236ca7329e39a46b0bf727aa06ded9cdd2e672e69","impliedFormat":99},{"version":"68f800cb7e1b4cf91abb6212e0e7e03fcda0d4ad44e7a0623afab2fea0e5f758","impliedFormat":99},{"version":"909a0176aa02755ed75087ffcee0fbafbcac7c34f60d6e87e08cd36de1466b56","impliedFormat":1},{"version":"451f0b31eab60e5d989bd845fc15b236fdb12f9a7ecd465aadacae006bbd327a","impliedFormat":1},{"version":"0843a6d2eb40ffb86a279e1d32efdf58ff31c43fa2799718899794f8889e2ff0","impliedFormat":1},{"version":"5436bc21e9e0baa2d9941f957fa5019fde1b0566420e842bf22d053c13d65eb2","impliedFormat":99},{"version":"b18f2d0e2e1cdca4673a751033826b65b76bd7bd3ab4ce47a5d68225298897f7","impliedFormat":99},{"version":"6d4a4c455c0708c2bd6510e09893c6fdd1ebffc26e1d9eab3d8b5ee9b29cd799","impliedFormat":99},{"version":"9beb36ba574da1eb35a1ff1b54c309e3c04df5a96f45f012ec4553c185b2adc2","impliedFormat":99},{"version":"2eaeca7f0b14792065e231a104fb824cd274f6cababaa481403e8800d4c55c15","impliedFormat":99},{"version":"e80cc1a87fed2bf924dc7d283398f5d5566f456b363dbae608ffbaf801b83c62","impliedFormat":1},{"version":"4a195466f534498d2af83c2bdc27b5d019313dc9d5926ecf17ca7c53bb2c0969","impliedFormat":1},{"version":"3df340866d6ac2c1b905bbf70467cfb02a89192d832ac020f05bf1a82ca17b0b","impliedFormat":99},{"version":"253917c9e5da5bb434d8b62b60dc52cd811c5f598005c783143a2cd9b80c5b17","impliedFormat":99},{"version":"c142019c0851985b23c44930284ea35ae5431f690b5e4362c5783a6714528bf3","impliedFormat":99},{"version":"8a4b25aa5ced4bedde47e97eeeff5b732ea1775f1e17fea1d22372f617468689","affectsGlobalScope":true,"impliedFormat":99},{"version":"2fb1faf3d8aa1085de8b539fbd3cd456b13dd3e1ea061a1370fdb2402c2e0132","impliedFormat":99},{"version":"c95a84abefc6e30127a61af4fd72d827c2a9af59664f60c313b3a701c08ff2f8","impliedFormat":99},{"version":"af0fc2cf42a71c4ebc6edaef5f2afd6a45ea1f9af5394201a0b0c0a3830bba48","impliedFormat":99},{"version":"86afe2bb90bf06064e9200c30e1dccda8a8b99cc1bbb4817aaff4896c8a310fc","impliedFormat":99},{"version":"09f52bd58d40cfd42eb6cde41bffef5ca30df025551ffd16aa7b0b3e4514bfbe","impliedFormat":99},{"version":"a86c555e85e705804365af53a16b987d473a16dad62feac5bb6121a7ca402ab5","impliedFormat":99},{"version":"36355516f94759ef0cb05d5fbba75c5f8e2271e89e1ee3b172db64082a57c874","impliedFormat":99},{"version":"45d145012b7d7a97f222c2592a05a748e0593ef826bbbf820e31953dc73d08cd","impliedFormat":99},{"version":"cff399d99c68e4fafdd5835d443a980622267a39ac6f3f59b9e3d60d60c4f133","impliedFormat":1},{"version":"6ada175c0c585e89569e8feb8ff6fc9fc443d7f9ca6340b456e0f94cbef559bf","impliedFormat":1},{"version":"e56e4d95fad615c97eb0ae39c329a4cda9c0af178273a9173676cc9b14b58520","impliedFormat":1},{"version":"73e8dfd5e7d2abc18bdb5c5873e64dbdd1082408dd1921cad6ff7130d8339334","impliedFormat":1},{"version":"fc820b2f0c21501f51f79b58a21d3fa7ae5659fc1812784dbfbb72af147659ee","impliedFormat":1},{"version":"4f041ef66167b5f9c73101e5fd8468774b09429932067926f9b2960cc3e4f99d","impliedFormat":1},{"version":"31501b8fc4279e78f6a05ca35e365e73c0b0c57d06dbe8faecb10c7254ce7714","impliedFormat":1},{"version":"7bc76e7d4bbe3764abaf054aed3a622c5cdbac694e474050d71ce9d4ab93ea4b","impliedFormat":1},{"version":"ff4e9db3eb1e95d7ba4b5765e4dc7f512b90fb3b588adfd5ca9b0d9d7a56a1ae","impliedFormat":1},{"version":"f205fd03cd15ea054f7006b7ef8378ef29c315149da0726f4928d291e7dce7b9","impliedFormat":1},{"version":"d683908557d53abeb1b94747e764b3bd6b6226273514b96a942340e9ce4b7be7","impliedFormat":1},{"version":"7c6d5704e2f236fddaf8dbe9131d998a4f5132609ef795b78c3b63f46317f88a","impliedFormat":1},{"version":"d05bd4d28c12545827349b0ac3a79c50658d68147dad38d13e97e22353544496","impliedFormat":1},{"version":"b6436d90a5487d9b3c3916b939f68e43f7eaca4b0bb305d897d5124180a122b9","impliedFormat":1},{"version":"04ace6bedd6f59c30ea6df1f0f8d432c728c8bc5c5fd0c5c1c80242d3ab51977","impliedFormat":1},{"version":"57a8a7772769c35ba7b4b1ba125f0812deec5c7102a0d04d9e15b1d22880c9e8","impliedFormat":1},{"version":"badcc9d59770b91987e962f8e3ddfa1e06671b0e4c5e2738bbd002255cad3f38","impliedFormat":1},"7c9aafd2978d762ba2f0daaee578b188910d9d19dfcaf4675806286c0fb40be5",{"version":"d88c1c0d923ff5daa3d2a1b3aff9c35b25e8a7f3db48271aa4107595a7fdb8ec","affectsGlobalScope":true},{"version":"40f7c2a2f9c1bf615de2c47835d6a37895017eaf712908e824e9324ba7255abe","signature":"fe52ce89ae3c4695b0d591dcbbbab613be922fba500321795934496ba85d8718"},"ab2d6c762374d6ff45e4d16f434ca9681da8f12200caeae3d056fc165b1b073e",{"version":"7e98cfd52d447cbb862839a6b93daab18147e6ea0be1751458b9529ee738516b","affectsGlobalScope":true,"impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"17fe9131bec653b07b0a1a8b99a830216e3e43fe0ea2605be318dc31777c8bbf","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"2472ef4c28971272a897fdb85d4155df022e1f5d9a474a526b8fc2ef598af94e","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"19851a6596401ca52d42117108d35e87230fc21593df5c4d3da7108526b6111c","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"40bfc70953be2617dc71979c14e9e99c5e65c940a4f1c9759ddb90b0f8ff6b1a","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"561c60d8bfe0fec2c08827d09ff039eca0c1f9b50ef231025e5a549655ed0298","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"12fb9c13f24845000d7bd9660d11587e27ef967cbd64bd9df19ae3e6aa9b52d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f32444438ecb1fa4519f6ec3977d69ce0e3acfa18b803e5cd725c204501f350","impliedFormat":1},{"version":"0ab3c844f1eb5a1d94c90edc346a25eb9d3943af7a7812f061bf2d627d8afac0","impliedFormat":1},{"version":"e8c431ccd0dd211303eeeaef6329d70d1ba8d4f6fa23b9c1a625cebd29226c1e","impliedFormat":1},{"version":"161f09445a8b4ba07f62ae54b27054e4234e7957062e34c6362300726dabd315","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"e6057f9e7b0c64d4527afeeada89f313f96a53291705f069a9193c18880578cb","impliedFormat":1},{"version":"34ecb9596317c44dab586118fb62c1565d3dad98d201cd77f3e6b0dde453339c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"237581f5ec4620a17e791d3bb79bad3af01e27a274dbee875ac9b0721a4fe97d","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"e6d81b1f7ab11dc1b1ad7ad29fcfad6904419b36baf55ed5e80df48d56ac3aff","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"b6b8e3736383a1d27e2592c484a940eeb37ec4808ba9e74dd57679b2453b5865","impliedFormat":1},{"version":"d6f36b683c59ac0d68a1d5ee906e578e2f5e9a285bca80ff95ce61cdc9ddcdeb","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"12aad38de6f0594dc21efa78a2c1f67bf6a7ef5a389e05417fe9945284450908","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"b338a6e6c1d456e65a6ea78da283e3077fe8edf7202ae10490abbba5b952b05e","impliedFormat":1},{"version":"2918b7c516051c30186a1055ebcdb3580522be7190f8a2fff4100ea714c7c366","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"d67fc92a91171632fc74f413ce42ff1aa7fbcc5a85b127101f7ec446d2039a1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d40e4631100dbc067268bce96b07d7aff7f28a541b1bfb7ef791c64a696b3d33","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"e4c653466d0497d87fa9ffd00e59a95f33bc1c1722c3f5c84dab2e950c18da70","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6dcc3b933e864e91d4bea94274ad69854d5d2a1311a4b0e20408a57af19e95d","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"a0acca63c9e39580f32a10945df231815f0fe554c074da96ba6564010ffbd2d8","impliedFormat":1},{"version":"8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","impliedFormat":1}],"root":[86,87,[135,138]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":false,"downlevelIteration":true,"emitDeclarationOnly":false,"esModuleInterop":true,"importHelpers":true,"jsx":4,"module":99,"noEmitHelpers":true,"noImplicitAny":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":2,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[93,1],[139,1],[140,1],[184,2],[185,2],[186,3],[143,4],[187,5],[188,6],[189,7],[141,1],[190,8],[191,9],[192,10],[193,11],[194,12],[195,13],[196,13],[198,1],[197,14],[199,15],[200,16],[201,17],[183,18],[142,1],[202,19],[203,20],[204,21],[237,22],[205,23],[206,24],[207,25],[208,26],[209,27],[210,28],[211,29],[212,30],[213,31],[214,32],[215,32],[216,33],[217,1],[218,1],[219,34],[221,35],[220,36],[222,37],[223,38],[224,39],[225,40],[226,41],[227,42],[228,43],[229,44],[230,45],[231,46],[232,47],[233,48],[234,49],[235,50],[236,51],[238,52],[82,1],[84,53],[85,52],[239,1],[105,54],[104,1],[83,1],[97,55],[96,56],[98,57],[92,58],[91,59],[90,59],[88,1],[89,60],[117,61],[111,62],[94,63],[114,64],[112,65],[113,65],[115,63],[116,66],[95,63],[101,67],[110,68],[108,69],[102,68],[100,70],[107,71],[106,72],[103,63],[109,73],[99,74],[81,1],[79,1],[80,1],[13,1],[14,1],[16,1],[15,1],[2,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[3,1],[25,1],[26,1],[4,1],[27,1],[31,1],[28,1],[29,1],[30,1],[32,1],[33,1],[34,1],[5,1],[35,1],[36,1],[37,1],[38,1],[6,1],[42,1],[39,1],[40,1],[41,1],[43,1],[7,1],[44,1],[49,1],[50,1],[45,1],[46,1],[47,1],[48,1],[8,1],[54,1],[51,1],[52,1],[53,1],[55,1],[9,1],[56,1],[57,1],[58,1],[60,1],[59,1],[61,1],[62,1],[10,1],[63,1],[64,1],[65,1],[11,1],[66,1],[67,1],[68,1],[69,1],[70,1],[1,1],[71,1],[72,1],[12,1],[76,1],[74,1],[78,1],[73,1],[77,1],[75,1],[160,75],[171,76],[158,75],[172,77],[181,78],[150,79],[149,80],[180,81],[175,82],[179,83],[152,84],[168,85],[151,86],[178,87],[147,88],[148,82],[153,89],[154,1],[159,79],[157,89],[145,90],[182,91],[173,92],[163,93],[162,89],[164,94],[166,95],[161,96],[165,97],[176,81],[155,98],[156,99],[167,100],[146,77],[170,101],[169,89],[174,1],[144,1],[177,102],[134,103],[119,1],[120,1],[121,1],[122,1],[118,1],[123,104],[124,1],[126,105],[125,104],[127,104],[128,105],[129,104],[130,1],[131,104],[132,1],[133,1],[87,106],[137,107],[138,108],[135,106],[136,109],[86,110]],"version":"5.8.3"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3234,13 +3234,17 @@ function initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector, mir
|
|
|
3234
3234
|
};
|
|
3235
3235
|
}
|
|
3236
3236
|
|
|
3237
|
+
function commonjsRequire(path) {
|
|
3238
|
+
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
3239
|
+
}
|
|
3240
|
+
|
|
3237
3241
|
var WorkerClass = null;
|
|
3238
3242
|
|
|
3239
3243
|
try {
|
|
3240
3244
|
var WorkerThreads =
|
|
3241
|
-
typeof module !== 'undefined' && typeof
|
|
3245
|
+
typeof module !== 'undefined' && typeof commonjsRequire === 'function' && module.require('worker_threads') ||
|
|
3242
3246
|
typeof __non_webpack_require__ === 'function' && __non_webpack_require__('worker_threads') ||
|
|
3243
|
-
typeof
|
|
3247
|
+
typeof commonjsRequire === 'function' && require('worker_threads');
|
|
3244
3248
|
WorkerClass = WorkerThreads.Worker;
|
|
3245
3249
|
} catch(e) {} // eslint-disable-line
|
|
3246
3250
|
|
|
@@ -4170,7 +4174,7 @@ const logWarn = (message, ...args) => logger.warn(message, ...args);
|
|
|
4170
4174
|
const logInfo = (message, ...args) => logger.info(message, ...args);
|
|
4171
4175
|
const logDebug = (message, ...args) => logger.debug(message, ...args);
|
|
4172
4176
|
|
|
4173
|
-
const MAX_CHUNK_SIZE_BYTES = 1024 * 1024
|
|
4177
|
+
const MAX_CHUNK_SIZE_BYTES = 1024 * 1024; // 1MB chunk size - more conservative
|
|
4174
4178
|
function isChunkSizeExceeded(currentChunk, newEvent, sessionId) {
|
|
4175
4179
|
const nextChunkSize = new TextEncoder().encode(JSON.stringify({
|
|
4176
4180
|
sessionId,
|
|
@@ -4184,8 +4188,41 @@ function validateSingleEventSize(event, sessionId) {
|
|
|
4184
4188
|
events: [event]
|
|
4185
4189
|
})).length;
|
|
4186
4190
|
if (singleEventSize > MAX_CHUNK_SIZE_BYTES) {
|
|
4187
|
-
|
|
4191
|
+
// Instead of throwing, log a warning and suggest reducing event size
|
|
4192
|
+
console.warn(`Single event size (${singleEventSize} bytes) exceeds maximum chunk size (${MAX_CHUNK_SIZE_BYTES} bytes). Consider reducing event data size.`);
|
|
4193
|
+
}
|
|
4194
|
+
}
|
|
4195
|
+
function splitLargeEvent(event, sessionId) {
|
|
4196
|
+
const eventSize = new TextEncoder().encode(JSON.stringify({
|
|
4197
|
+
sessionId,
|
|
4198
|
+
events: [event]
|
|
4199
|
+
})).length;
|
|
4200
|
+
if (eventSize <= MAX_CHUNK_SIZE_BYTES) {
|
|
4201
|
+
return [event];
|
|
4188
4202
|
}
|
|
4203
|
+
// If event is too large, try to split it by removing large properties
|
|
4204
|
+
const simplifiedEvent = Object.assign({}, event);
|
|
4205
|
+
// Remove potentially large properties
|
|
4206
|
+
const largeProperties = ['screenshot', 'html', 'dom', 'fullText', 'innerHTML', 'outerHTML'];
|
|
4207
|
+
largeProperties.forEach(prop => {
|
|
4208
|
+
if (simplifiedEvent[prop]) {
|
|
4209
|
+
delete simplifiedEvent[prop];
|
|
4210
|
+
}
|
|
4211
|
+
});
|
|
4212
|
+
// Check if simplified event is now small enough
|
|
4213
|
+
const simplifiedSize = new TextEncoder().encode(JSON.stringify({
|
|
4214
|
+
sessionId,
|
|
4215
|
+
events: [simplifiedEvent]
|
|
4216
|
+
})).length;
|
|
4217
|
+
if (simplifiedSize <= MAX_CHUNK_SIZE_BYTES) {
|
|
4218
|
+
return [simplifiedEvent];
|
|
4219
|
+
}
|
|
4220
|
+
// If still too large, create a minimal event
|
|
4221
|
+
const minimalEvent = Object.assign({ type: event.type, timestamp: event.timestamp, url: event.url, pathname: event.pathname }, Object.fromEntries(Object.entries(event).filter(([key, value]) => !largeProperties.includes(key) &&
|
|
4222
|
+
typeof value !== 'object' &&
|
|
4223
|
+
typeof value !== 'string' ||
|
|
4224
|
+
(typeof value === 'string' && value.length < 1000))));
|
|
4225
|
+
return [minimalEvent];
|
|
4189
4226
|
}
|
|
4190
4227
|
class HumanBehaviorAPI {
|
|
4191
4228
|
constructor({ apiKey, ingestionUrl }) {
|
|
@@ -4255,7 +4292,7 @@ class HumanBehaviorAPI {
|
|
|
4255
4292
|
}
|
|
4256
4293
|
});
|
|
4257
4294
|
}
|
|
4258
|
-
sendEventsChunked(events, sessionId) {
|
|
4295
|
+
sendEventsChunked(events, sessionId, userId) {
|
|
4259
4296
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
4260
4297
|
try {
|
|
4261
4298
|
const results = [];
|
|
@@ -4272,7 +4309,8 @@ class HumanBehaviorAPI {
|
|
|
4272
4309
|
},
|
|
4273
4310
|
body: JSON.stringify({
|
|
4274
4311
|
sessionId,
|
|
4275
|
-
events: currentChunk
|
|
4312
|
+
events: currentChunk,
|
|
4313
|
+
endUserId: userId
|
|
4276
4314
|
})
|
|
4277
4315
|
});
|
|
4278
4316
|
if (!response.ok) {
|
|
@@ -4281,10 +4319,10 @@ class HumanBehaviorAPI {
|
|
|
4281
4319
|
results.push(yield response.json());
|
|
4282
4320
|
currentChunk = [];
|
|
4283
4321
|
}
|
|
4284
|
-
//
|
|
4285
|
-
|
|
4286
|
-
// Start new chunk with
|
|
4287
|
-
currentChunk =
|
|
4322
|
+
// Handle large events by splitting them
|
|
4323
|
+
const splitEvents = splitLargeEvent(event, sessionId);
|
|
4324
|
+
// Start new chunk with the split events
|
|
4325
|
+
currentChunk = splitEvents;
|
|
4288
4326
|
}
|
|
4289
4327
|
else {
|
|
4290
4328
|
// Add event to current chunk
|
|
@@ -4301,7 +4339,8 @@ class HumanBehaviorAPI {
|
|
|
4301
4339
|
},
|
|
4302
4340
|
body: JSON.stringify({
|
|
4303
4341
|
sessionId,
|
|
4304
|
-
events: currentChunk
|
|
4342
|
+
events: currentChunk,
|
|
4343
|
+
endUserId: userId
|
|
4305
4344
|
})
|
|
4306
4345
|
});
|
|
4307
4346
|
if (!response.ok) {
|
|
@@ -4376,7 +4415,8 @@ class HumanBehaviorAPI {
|
|
|
4376
4415
|
const payload = {
|
|
4377
4416
|
sessionId: sessionId,
|
|
4378
4417
|
events: events,
|
|
4379
|
-
endUserId: null // Beacon doesn't have user context
|
|
4418
|
+
endUserId: null, // Beacon doesn't have user context
|
|
4419
|
+
apiKey: this.apiKey // Include API key in body since beacon can't use headers
|
|
4380
4420
|
};
|
|
4381
4421
|
// Convert to Blob for sendBeacon
|
|
4382
4422
|
const blob = new Blob([JSON.stringify(payload)], {
|
|
@@ -4387,6 +4427,7 @@ class HumanBehaviorAPI {
|
|
|
4387
4427
|
}
|
|
4388
4428
|
sendCustomEvent(sessionId, eventName, eventProperties) {
|
|
4389
4429
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
4430
|
+
logInfo('[SDK] Sending custom event', { sessionId, eventName, eventProperties });
|
|
4390
4431
|
try {
|
|
4391
4432
|
const response = yield fetch(`${this.baseUrl}/api/ingestion/customEvent`, {
|
|
4392
4433
|
method: 'POST',
|
|
@@ -4400,13 +4441,18 @@ class HumanBehaviorAPI {
|
|
|
4400
4441
|
eventProperties: eventProperties || {}
|
|
4401
4442
|
})
|
|
4402
4443
|
});
|
|
4444
|
+
logInfo('[SDK] Custom event response', { status: response.status, statusText: response.statusText });
|
|
4403
4445
|
if (!response.ok) {
|
|
4404
|
-
|
|
4446
|
+
const errorText = yield response.text();
|
|
4447
|
+
logError('[SDK] Failed to send custom event', { status: response.status, statusText: response.statusText, errorText });
|
|
4448
|
+
throw new Error(`Failed to send custom event: ${response.status} ${response.statusText} - ${errorText}`);
|
|
4405
4449
|
}
|
|
4406
|
-
|
|
4450
|
+
const json = yield response.json();
|
|
4451
|
+
logDebug('[SDK] Custom event success', json);
|
|
4452
|
+
return json;
|
|
4407
4453
|
}
|
|
4408
4454
|
catch (error) {
|
|
4409
|
-
logError('Error sending custom event
|
|
4455
|
+
logError('[SDK] Error sending custom event', error, { sessionId, eventName, eventProperties });
|
|
4410
4456
|
throw error;
|
|
4411
4457
|
}
|
|
4412
4458
|
});
|
|
@@ -4895,8 +4941,6 @@ class HumanBehaviorTracker {
|
|
|
4895
4941
|
constructor(apiKey, ingestionUrl) {
|
|
4896
4942
|
this.eventIngestionQueue = [];
|
|
4897
4943
|
this.queueSizeBytes = 0;
|
|
4898
|
-
this.rejectedEvents = [];
|
|
4899
|
-
this.isProcessingRejectedEvents = false;
|
|
4900
4944
|
this.userProperties = {};
|
|
4901
4945
|
this.isProcessing = false;
|
|
4902
4946
|
this.flushInterval = null;
|
|
@@ -4982,7 +5026,6 @@ class HumanBehaviorTracker {
|
|
|
4982
5026
|
if (isBrowser) {
|
|
4983
5027
|
this.setupPageUnloadHandler();
|
|
4984
5028
|
this.setupNavigationTracking();
|
|
4985
|
-
this.processRejectedEvents();
|
|
4986
5029
|
}
|
|
4987
5030
|
else {
|
|
4988
5031
|
logWarn('HumanBehaviorTracker initialized in a non-browser environment. Session tracking is disabled.');
|
|
@@ -5125,6 +5168,7 @@ class HumanBehaviorTracker {
|
|
|
5125
5168
|
*/
|
|
5126
5169
|
customEvent(eventName, properties) {
|
|
5127
5170
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
5171
|
+
var _a, _b, _c, _d, _e;
|
|
5128
5172
|
if (!this.initialized)
|
|
5129
5173
|
return;
|
|
5130
5174
|
try {
|
|
@@ -5134,7 +5178,19 @@ class HumanBehaviorTracker {
|
|
|
5134
5178
|
}
|
|
5135
5179
|
catch (error) {
|
|
5136
5180
|
logError('Failed to track custom event:', error);
|
|
5137
|
-
//
|
|
5181
|
+
// Handle specific error types - check for any custom event failure
|
|
5182
|
+
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('500')) ||
|
|
5183
|
+
((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Internal Server Error')) ||
|
|
5184
|
+
((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Failed to send custom event'))) {
|
|
5185
|
+
logWarn('Custom event endpoint failed, using fallback');
|
|
5186
|
+
}
|
|
5187
|
+
else if ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('ERR_BLOCKED_BY_CLIENT')) {
|
|
5188
|
+
logWarn('Custom event request blocked by ad blocker, using fallback');
|
|
5189
|
+
}
|
|
5190
|
+
else if ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')) {
|
|
5191
|
+
logWarn('Custom event network error, using fallback');
|
|
5192
|
+
}
|
|
5193
|
+
// Always try fallback for any custom event error
|
|
5138
5194
|
try {
|
|
5139
5195
|
const customEventData = {
|
|
5140
5196
|
eventName: eventName,
|
|
@@ -5426,32 +5482,31 @@ class HumanBehaviorTracker {
|
|
|
5426
5482
|
logError('Failed to read logs:', e);
|
|
5427
5483
|
}
|
|
5428
5484
|
}
|
|
5429
|
-
addUserInfo(
|
|
5430
|
-
return __awaiter$1(this,
|
|
5485
|
+
addUserInfo(_a) {
|
|
5486
|
+
return __awaiter$1(this, arguments, void 0, function* ({ userId, userProperties }) {
|
|
5431
5487
|
yield this.ensureInitialized();
|
|
5432
5488
|
if (!this.endUserId) {
|
|
5433
5489
|
throw new Error('Cannot add user info before tracker initialization');
|
|
5434
5490
|
}
|
|
5435
5491
|
this.userProperties = userProperties;
|
|
5436
5492
|
yield this.api.sendUserData(this.endUserId, userProperties, this.sessionId);
|
|
5493
|
+
if (userId) {
|
|
5494
|
+
this.endUserId = userId;
|
|
5495
|
+
}
|
|
5437
5496
|
});
|
|
5438
5497
|
}
|
|
5439
5498
|
/**
|
|
5440
|
-
*
|
|
5499
|
+
* Add user identification information to the tracker
|
|
5441
5500
|
* @param authFields Array of field names to check for existing users (e.g., ['email', 'phoneNumber'])
|
|
5442
5501
|
*/
|
|
5443
|
-
auth(
|
|
5502
|
+
auth(id) {
|
|
5444
5503
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
5445
5504
|
yield this.ensureInitialized();
|
|
5446
5505
|
if (!this.endUserId) {
|
|
5447
5506
|
throw new Error('Cannot authenticate before tracker initialization');
|
|
5448
5507
|
}
|
|
5449
|
-
|
|
5450
|
-
throw new Error('No user info available. Call addUserInfo() first.');
|
|
5451
|
-
}
|
|
5452
|
-
const response = yield this.api.sendUserAuth(this.endUserId, this.userProperties, this.sessionId, authFields);
|
|
5508
|
+
const response = yield this.api.sendUserAuth(this.endUserId, { id }, this.sessionId, ["id"]);
|
|
5453
5509
|
if (response && response.userId && response.userId !== this.endUserId) {
|
|
5454
|
-
// Update endUserId and cookie if backend returns a new userId
|
|
5455
5510
|
this.endUserId = response.userId;
|
|
5456
5511
|
this.setCookie(`human_behavior_end_user_id_${this.apiKey}`, response.userId, 365);
|
|
5457
5512
|
}
|
|
@@ -5508,37 +5563,9 @@ class HumanBehaviorTracker {
|
|
|
5508
5563
|
this.queueSizeBytes += eventSize;
|
|
5509
5564
|
});
|
|
5510
5565
|
}
|
|
5511
|
-
processRejectedEvents() {
|
|
5512
|
-
return __awaiter$1(this, void 0, void 0, function* () {
|
|
5513
|
-
if (this.isProcessingRejectedEvents || this.rejectedEvents.length === 0)
|
|
5514
|
-
return;
|
|
5515
|
-
this.isProcessingRejectedEvents = true;
|
|
5516
|
-
try {
|
|
5517
|
-
// Create a new session ID for rejected events
|
|
5518
|
-
const newSessionId = v1();
|
|
5519
|
-
if (isBrowser) {
|
|
5520
|
-
localStorage.setItem('human_behavior_session_id', newSessionId);
|
|
5521
|
-
}
|
|
5522
|
-
// Try to send rejected events with new session ID using beacon
|
|
5523
|
-
// sendBeacon returns true if the request was queued successfully
|
|
5524
|
-
this.api.sendBeaconEvents(this.rejectedEvents, newSessionId);
|
|
5525
|
-
// Clear rejected events and update session ID
|
|
5526
|
-
// Note: We can't verify if the beacon data was actually sent,
|
|
5527
|
-
// but we clear the events to prevent duplicate sending attempts
|
|
5528
|
-
this.rejectedEvents = [];
|
|
5529
|
-
this.sessionId = newSessionId;
|
|
5530
|
-
}
|
|
5531
|
-
catch (error) {
|
|
5532
|
-
logError('Failed to process rejected events:', error);
|
|
5533
|
-
}
|
|
5534
|
-
finally {
|
|
5535
|
-
this.isProcessingRejectedEvents = false;
|
|
5536
|
-
}
|
|
5537
|
-
});
|
|
5538
|
-
}
|
|
5539
5566
|
flush() {
|
|
5540
5567
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
5541
|
-
var _a, _b, _c, _d;
|
|
5568
|
+
var _a, _b, _c, _d, _e, _f;
|
|
5542
5569
|
// Prevent concurrent flushes
|
|
5543
5570
|
if (this.isProcessing || !this.initialized) {
|
|
5544
5571
|
return;
|
|
@@ -5552,22 +5579,21 @@ class HumanBehaviorTracker {
|
|
|
5552
5579
|
if (eventsToProcess.length > 0) {
|
|
5553
5580
|
logDebug('Flushing events:', eventsToProcess);
|
|
5554
5581
|
try {
|
|
5555
|
-
|
|
5582
|
+
// Use chunked sending to handle large payloads
|
|
5583
|
+
yield this.api.sendEventsChunked(eventsToProcess, this.sessionId, this.endUserId);
|
|
5556
5584
|
}
|
|
5557
5585
|
catch (error) {
|
|
5558
|
-
//
|
|
5586
|
+
// Handle specific error types with graceful degradation
|
|
5559
5587
|
if ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('ERROR: Session already completed')) {
|
|
5560
|
-
|
|
5561
|
-
this.rejectedEvents.push(...eventsToProcess);
|
|
5562
|
-
this.processRejectedEvents();
|
|
5588
|
+
logWarn('Session expired, events will be lost');
|
|
5563
5589
|
}
|
|
5564
|
-
else if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('
|
|
5565
|
-
(
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5590
|
+
else if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('413')) || ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Content Too Large'))) {
|
|
5591
|
+
logWarn('Payload too large, events will be lost');
|
|
5592
|
+
}
|
|
5593
|
+
else if (((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('ERR_BLOCKED_BY_CLIENT')) ||
|
|
5594
|
+
((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')) ||
|
|
5595
|
+
((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('NetworkError'))) {
|
|
5596
|
+
logWarn('Request blocked by ad blocker or network issue, events will be lost');
|
|
5571
5597
|
}
|
|
5572
5598
|
else {
|
|
5573
5599
|
throw error;
|
|
@@ -5645,6 +5671,53 @@ class HumanBehaviorTracker {
|
|
|
5645
5671
|
return null;
|
|
5646
5672
|
}
|
|
5647
5673
|
}
|
|
5674
|
+
/**
|
|
5675
|
+
* Delete a cookie by setting its expiration date to the past
|
|
5676
|
+
* @param name The name of the cookie to delete
|
|
5677
|
+
*/
|
|
5678
|
+
deleteCookie(name) {
|
|
5679
|
+
if (!isBrowser)
|
|
5680
|
+
return;
|
|
5681
|
+
try {
|
|
5682
|
+
// Delete cookie by setting expiration to past
|
|
5683
|
+
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`;
|
|
5684
|
+
logDebug(`Deleted cookie: ${name}`);
|
|
5685
|
+
}
|
|
5686
|
+
catch (error) {
|
|
5687
|
+
logError(`Failed to delete cookie: ${name}`, error);
|
|
5688
|
+
}
|
|
5689
|
+
// Also remove from localStorage
|
|
5690
|
+
try {
|
|
5691
|
+
localStorage.removeItem(name);
|
|
5692
|
+
logDebug(`Removed from localStorage: ${name}`);
|
|
5693
|
+
}
|
|
5694
|
+
catch (error) {
|
|
5695
|
+
logError(`Failed to remove from localStorage: ${name}`, error);
|
|
5696
|
+
}
|
|
5697
|
+
}
|
|
5698
|
+
/**
|
|
5699
|
+
* Log out the current user by clearing all user-related data
|
|
5700
|
+
* This will delete the user ID cookie, clear localStorage, and reset user properties
|
|
5701
|
+
*/
|
|
5702
|
+
logout() {
|
|
5703
|
+
if (!isBrowser)
|
|
5704
|
+
return;
|
|
5705
|
+
try {
|
|
5706
|
+
// Clear user ID cookie and localStorage
|
|
5707
|
+
const userIdCookieName = `human_behavior_end_user_id_${this.apiKey}`;
|
|
5708
|
+
this.deleteCookie(userIdCookieName);
|
|
5709
|
+
// Clear session data from localStorage
|
|
5710
|
+
localStorage.removeItem('human_behavior_session_id');
|
|
5711
|
+
localStorage.removeItem('human_behavior_last_activity');
|
|
5712
|
+
// Reset user-related properties
|
|
5713
|
+
this.endUserId = null;
|
|
5714
|
+
this.userProperties = {};
|
|
5715
|
+
logInfo('User logged out - cleared all user data and cookies');
|
|
5716
|
+
}
|
|
5717
|
+
catch (error) {
|
|
5718
|
+
logError('Error during logout:', error);
|
|
5719
|
+
}
|
|
5720
|
+
}
|
|
5648
5721
|
/**
|
|
5649
5722
|
* Start redaction functionality for sensitive input fields
|
|
5650
5723
|
* @param options Optional configuration for redaction behavior
|
|
@@ -5718,8 +5791,8 @@ class HumanBehaviorTracker {
|
|
|
5718
5791
|
getConnectionStatus() {
|
|
5719
5792
|
const recommendations = [];
|
|
5720
5793
|
let blocked = false;
|
|
5721
|
-
// Check if we have
|
|
5722
|
-
if (this.
|
|
5794
|
+
// Check if we have queued events (might indicate blocking)
|
|
5795
|
+
if (this.eventIngestionQueue.length > 0) {
|
|
5723
5796
|
blocked = true;
|
|
5724
5797
|
recommendations.push('Some requests may be blocked by ad blockers');
|
|
5725
5798
|
}
|
|
@@ -5787,5 +5860,6 @@ exports.logInfo = logInfo;
|
|
|
5787
5860
|
exports.logWarn = logWarn;
|
|
5788
5861
|
exports.logger = logger;
|
|
5789
5862
|
exports.redactionManager = redactionManager;
|
|
5863
|
+
exports.splitLargeEvent = splitLargeEvent;
|
|
5790
5864
|
exports.validateSingleEventSize = validateSingleEventSize;
|
|
5791
5865
|
//# sourceMappingURL=index.js.map
|